2011-10-21 61 views
0

基本上我想知道如何從給定的字符串中打印固定數量的單詞。或者,如果有方法讓我的查詢在$ data4引用的字段中存儲有限數量的單詞。在下面的示例中,我打印固定數量的字符$ data4變量,我寧願不要截斷任何單詞。從字符串中打印固定數量的單詞/ tkens

<? 
$sysquery4 = mysql_query("SELECT * FROM content WHERE sid='59' AND title!='' ORDER BY id DESC LIMIT 4") or die(mysql_error()); 

while($data4 = mysql_fetch_array($sysquery4)) { 
    $year = substr($data4['date'], 0, 4); 
    $month = substr($data4['date'], 5, 2); 
    $day = substr($data4['date'], 8, 2); 
?> 
<div class="post"> 

    <h2> 
    <? echo $data4['title']; ?> 
    </h2> 
    <span class="news_date"><? echo date('F j, Y', mktime(0,0,0,$month,$day,$year)); ></span><br /> 
    <? echo substr($data4['content'], 0,180) ;echo $lnk="... more"; ?> 

</div> 
<? } ?> 
+0

多次提問類似的問題。請檢查下面的答案。他們會幫助你解決你的問題。 http://stackoverflow.com/search?q=php+first+words –

回答

2

你可以用下面的代碼片段(未經測試)解決這個問題:

function limitWords($string, $num_words){ 
    //Pull an array of words out from the string (you can specify what delimeter you'd like) 
    $array_of_words = explode(" ", $string); 

    //Loop the array the requested number of times and build an output, re-inserting spaces. 
    for ($i = 1; $i <= $num_words; $i++) { 
     $output .= $array_of_words[$i] . " "; 
    } 
    return trim($output); 
} 

編輯:添加周圍的最終輸出的微調擺脫那個討厭的最後附加空間。

相關問題