2012-03-03 19 views
0

私は40ワードしか出力しないように、いくつかのHTMLタグ付きテキストを持っています。指定された数の単語だけを返します

<strong>This is an article </strong> containing 150 words with <a href="">HTML 
</a>tags and I want to output only first 40 words. How to do this? 

それはEOLを持っているので、私は、今nl2br使用しています。 explode()およびstr_word_countは、通常の単語のみを考慮しています。

+0

質問に「nl2br」という単語を使用した理由は何ですか? –

+0

@ Col.Shrapnel:[改善]をクリックすると、編集できます。 – ThiefMaster

+0

この愚かなエンジンは私をさせません。他の人がレビューするために残します –

答えて

1

ので、いくつかのグーグルでの後、私は(このフォーラムhttp://www.webmasterworld.com/forum88/10821.htmで)探していたものを見つけ

ファンクションカット文字列から文字の数を指定して、次のスペースまでの文字を追加します(途中で切断防ぐために単語の)。

function elliStr($string,$noChars) { 
    for ($i = 0; $i < strlen($string); $i++) { 
    $result = ($noChars+$i >= strlen($string) ? $string : ($string{$noChars+$i} == " " ? substr($string,0,$noChars+$i) : "")); 
    if ($result != "") { 
     return nl2br($result); 
     } 
    } 
} 
関連する問題