删除所有html标记和限制字母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 $

我制作了以下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
$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>"; 

?>