删除所有的HTML标签,并限制字母PHP的
问题描述:
我有此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。
我该如何解决?我希望每篇文章的字母数量相同。
答
一-(如果$news['testo']
至少有400个字符):
<?php
$testo = (isset($news['testo']))? mb_substr(trim(strip_tags($news['testo'])), 0, 400) : "";
print "<p>". $testo ."...</p>";
?>
答
$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_strlen
和mb_substr
将能够处理UTF-8
您可以获取最小字符串长度并将其用作分隔符。 – Phiter
怎么样?你能举个例子吗? –