如何将所有特殊字符转换为相应的html实体?
特殊字符就像$ & / \ { } ( - ' , @
等。
我尝试使用 htmlentities()和 htmlspecialchars()。但没解决我的问题。
请检查here。我希望输出像实体编号,即第3列。
实际情况是 - 我需要从 fckeditor 获取输入。然后保存到数据库中。所以我需要从文本中将所有特殊字符转换为相应的html实体。否则它会给我错误。
答案 0 :(得分:1)
您正在寻找的是与字符等效的ASCII。所以你需要使用ord()
。
顺便说一句divaka
提到的是正确的。
这样做..
<?php
function getHTMLASCIIEquiv($val)
{
$arr=['$','&','/','\\','{','}','(','-','\'',',','@'];
$val = str_split($val);$str="";
foreach($val as $v)
{
if(in_array($v,$arr))
{
$str.="&#".ord($v).";";
}
else
{
$str.=$v;
}
}
return $str;
}
echo getHTMLASCIIEquiv('please check $100 & get email from test@cc.com');
<强> OUTPUT :
强>
please check $100 & get email from test@cc.com