2013-12-11 52 views
2

Stack大人物,我再次需要您的协助。WordPress blog_content字符数限制

目前,我有一个外部网站,通过从含有WordPress安装的子文件夹的博客内容拉动,例如:

网站A:外部静态网站 网站B:WordPress安装

我有使用以下代码在网站A的主页上发布帖子。

WordPress的电话:

<?php 
//db parameters 
$db_username = '###'; 
$db_password = '###'; 
$db_database = '###'; 

$blog_url = 'http://www.website.com/blog/'; 

//connect to the database 
mysql_connect('###', $db_username, $db_password); 
@mysql_select_db($db_database) or die("Unable to select database"); 

//get data from database -- !IMPORTANT, the "LIMIT 5" means how many posts will appear. Change the 5 to any whole number. 
$query = "Select * FROM wp_posts WHERE post_type='post' AND post_status='publish' ORDER BY id DESC LIMIT 1"; 

$query_result = mysql_query($query); 
$num_rows = mysql_numrows($query_result); 

//close database connection 
mysql_close(); 

// html page starts after 
?> 

博客文章包括:

<div class="contentBox"> 
    <?php 
    for($i=0; $i< $num_rows; $i++){ 

    //assign data to variables, $i is the row number, which increases with each run of the loop 
    $blog_date = mysql_result($query_result, $i, "post_date"); 
    $blog_title = mysql_result($query_result, $i, "post_title"); 
    $blog_content = mysql_result($query_result, $i, "post_content"); 
    //$blog_permalink = mysql_result($query_result, $i, "guid"); //use this line for p=11 format. 

    $blog_permalink = $blog_url . mysql_result($query_result, $i, "post_name"); //combine blog url, with permalink title. Use this for title format 

         //format date 
         $blog_date = strtotime($blog_date); 
         $blog_date = strftime("%b %e", $blog_date); 

         //the following HTML content will be generated on the page as many times as the loop runs. In this case 5. 
         ?> 
         <div class="post"></div> 
         <img src="img/headers/news-from.png" /><br /> 

           <p class="blogName"><a href="http://www.website.com/blog"><?php echo $blog_title; ?></a></p> 

           <p style="margin-top: -10px; margin-right: 10px;"><?php echo $blog_content;?></p> 

           <p>Submitted on: <span class="green"><?php echo $blog_date; ?></span></p> 

           <p><a href=”<?php echo $blog_permalink; ?>”>Read Full Post</a></p> 
         <?php 
          } //end the for loop 
         ?> 
        </div> 

这完美的作品,它拉了必要的岗位,并显示它,我都奇妙格式化等问题在于,我真的需要限制通过的字符数,因为它现在是回声的整个帖子,我只需要回复帖子的前15个字符。任何想法将不胜感激。

回答

2

您可以通过回显以下内容来限制字符输出。

来源:

<p style="margin-top: -10px; margin-right: 10px;"><?php echo $blog_content;?></p> 

要:

<p style="martin-top: -10px; margin-right: 10px;"><?php echo substr($blog_content,0,40); ?></p> 
+0

没有工作我害怕,它只是张贴一段1而不是帖子内容? –

+0

请参阅我更新的帖子。 – MikeF

+0

编辑后再次测试:完美工作!非常感谢! –

1

一种方式做,这是去除线

echo $blog_content; 

,取而代之的是

echo substr(strip_tags($blog_content), 0, 50); 

将50更改为所需的长度。

2

这可能看起来像是一个简单的解决方案,但为什么不使用substr修剪后?

你甚至可以通过设置一个单独的变量来做到这一点?

例如

$trimmed_post = substr($blog_content, 0,15); 

这一切所做的就是创建一个新的变量,以显示其开始于你$blog_content变量的字符0的页面上,经过15个字符切断。