我的脚本得到了大量的文本——它可能是HTML代码,也可能只是纯文本,特殊字符可能被编码,也可能不被编码,或者两者兼而有之。
因此,内容可能包含以下内容:
Don't Do That
It's called "Meme"
He said: 'Yeah'
我该怎么做才能把它作为一个类型编码?
我试过了:
htmlentities(html_entity_decode($text), ENT_QUOTES, "UTF-8"), ENT_NOQUOTES, "UTF-8")
但它并不是在所有情况下都有效。例如:
•
返回
•
由于html_entity_decode
不会对字符串进行"双重解码",因此可以使用以下内容:
$str=<<<STR
Don't Do That
It's called "Meme"
He said: 'Yeah'
STR;
$tmp=html_entity_decode($str,ENT_QUOTES,"UTF-8");
while($str!=$tmp)
{
$str=$tmp;
$tmp=html_entity_decode($str,ENT_QUOTES,"UTF-8");
}
现在你有了一个完全解码的$str
,你可以对它进行编码或直接使用它,无论你喜欢什么。
当然,这不是一个完美的解决方案——有时人们倾向于首先对字符串进行编码——如果你不能控制或过滤数据源,这可能值得一试。