删除所有html标记和限制字母php
我制作了以下php脚本:删除所有html标记和限制字母php,php,Php,我制作了以下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>"; ?> //将数据保存到变量中 $testo=$news['testo']; //删除所有标记html $
//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>"; ?>
//将数据保存到变量中
$testo=$news['testo'];
//删除所有标记html
$testo=带标签($testo);
?>
首先,我获取变量,然后删除所有标记,并将字母限制为400
但有一个问题,字母和文章不同。比如:393个字母,378个字母,ecc
我怎样才能修好它?我希望每篇文章的字母数相同。$length=strlen($testo);
$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);
//剪切长度超过400的文本,使其以。。。
如果($length>400)
$testo=substr($testo,0397)。“…”;
//用*字符填充小于400的文本
如果($长度<400)
$testo=str_pad($testo,400,“*”,str_pad_RIGHT);
更新:您可能还存在UTF-8字符问题,在这种情况下,您应该使用:
mb_-strlen
和mb_-substr
能够处理UTF-8的mb_-substr
单线解决方案(如果$news['testo']
至少有400个字符):
您可以获取最小字符串长度并将其用作分隔符。如何获取?你能举个例子吗?
<?php
$testo = (isset($news['testo']))? mb_substr(trim(strip_tags($news['testo'])), 0, 400) : "";
print "<p>". $testo ."...</p>";
?>