2016-02-19 195 views
0

我有此PHP脚本:删除所有的HTML标签,并限制字母PHP的

//save the data into a variable 
$testo = $news['testo']; 

//delete all tag html 
$testo = strip_tags($testo); 

?> 
<?php print "<p>".substr($testo,0,400)."...</p>"; ?> 

首先,我把变量后,我删除所有标签,并限制信件400

但有一个问题,这些信件与文章和文章不同。喜欢:393封信,378封信,ecc。

我该如何解决?我希望每篇文章的字母数量相同。

+0

您可以获取最小字符串长度并将其用作分隔符。 – Phiter

+0

怎么样?你能举个例子吗? –

回答

0

一-(如果$news['testo']至少有400个字符):

<?php 

$testo = (isset($news['testo']))? mb_substr(trim(strip_tags($news['testo'])), 0, 400) : ""; 

print "<p>". $testo ."...</p>"; 

?> 
0
$length = strlen($testo); 

//Cut text longer than 400 so it ends with ... 
if ($length > 400) 
    $testo = substr($testo, 0, 397).'...'; 

//Fill text shorter than 400 with * characters 
if ($length < 400) 
    $testo = str_pad($testo, 400, '*', STR_PAD_RIGHT); 

UPDATE:你可能也有使用UTF-8字符的问题,在这种情况下,你应该使用:

mb_strlenmb_substr将能够处理UTF-8