我使用一个小片段来获取<title>
的innertext以获取网站的标题,这非常有效。
但是变音符号和其他html字符存在问题。首先我尝试使用htmlentities()
,但由于网站嵌入变音符号有多种方式,因此变得非常复杂。
E.g。在现代浏览器中,可以在源代码lik ä ö ü
中将它们写成纯文本,但我想将它们用作html实体ä ö ü
以支持旧浏览器。
所以,真正的问题是,当这两个标题混合在一起时(源代码)Pläne: Alkoholverbot für 18-Jährige? > Online Zeitung
。
当我尝试使用htmlentities()
时,结果为Pläne: Alkoholverbot für 18-Jährige? &gt; Online Zeitung
。一切都转好了,除了“&gt; ”,它变成了&gt;
。
我是否必须使用str_replace()
方法,还是有其他最佳做法来处理混合html实体?
THX
答案 0 :(得分:1)
首先使用html_entity_decode()
将所有实体解码为其Unicode表示,然后将字符串传递给htmlentities()
以重新编码所有实体。