PHP Substr函数修剪问题
我正在使用以下代码修剪标题并在我的屏幕上显示:PHP Substr函数修剪问题,php,substr,html-encode,Php,Substr,Html Encode,我正在使用以下代码修剪标题并在我的屏幕上显示: 但是HTML字符实体存在问题。当我使用substr函数修剪标题时,substr函数也修剪HTML字符实体 所以我试着使用这个函数,但我做得不是很好 有人能帮我吗?我想你可以使用那里的功能,例如: substr(strip_tags($title), 0, 20); 这将只处理不包括任何html字符的标题。尝试以下操作: $output = htmlentities(substr(html_entity_decode($input), 0, 2
但是HTML字符实体存在问题。当我使用substr
函数修剪标题时,substr
函数也修剪HTML字符实体
所以我试着使用这个函数,但我做得不是很好
有人能帮我吗?我想你可以使用那里的功能,例如:
substr(strip_tags($title), 0, 20);
这将只处理不包括任何html字符的标题。尝试以下操作:
$output = htmlentities(substr(html_entity_decode($input), 0, 20));
这将解码所有实体,因此substr
不会破坏任何内容。之后,您可以将所有字符编码回其实体。使用此功能
<?php
function keephtml($string){
$res = htmlentities($string);
$res = str_replace("<","<",$res);
$res = str_replace(">",">",$res);
$res = str_replace(""",'"',$res);
$res = str_replace("&",'&',$res);
return $res;
}
?>
如果您可以将html编码保留到最后一分钟(例如,当您实际回显$title字符串时),则会更干净。当然,这意味着您必须记住自己对所有字符串进行编码。不,它不起作用。我认为strip\u标签
功能是剥离HTML标签。但我想剥离HTML字符实体()。
<?php
function keephtml($string){
$res = htmlentities($string);
$res = str_replace("<","<",$res);
$res = str_replace(">",">",$res);
$res = str_replace(""",'"',$res);
$res = str_replace("&",'&',$res);
return $res;
}
?>