Dav*_*ave 17 html php decode special-characters
我的数据中有许多HTML实体(•...等),包括'.我只是想把它转换为它的等价字符.
我假设htmlspecialchars_decode()会起作用,但是 - 没有运气.思考?
我试过这个:
echo htmlspecialchars_decode('They're here.');
Run Code Online (Sandbox Code Playgroud)
但它返回: They're here.
编辑:
我也尝试过html_entity_decode(),但它似乎不起作用:
echo html_entity_decode('They're here.')
Run Code Online (Sandbox Code Playgroud)
还返回: They're here.
cmb*_*ley 32
由于'不是HTML 4.01的一部分,因此'默认情况下不会转换为HTML 4.01 .
在PHP 5.4.0中,引入了额外的标志来处理不同的语言,每个语言都包含'在一个实体中.
这意味着您可以执行以下操作:
echo html_entity_decode('They're here.', ENT_QUOTES | ENT_HTML5);
Run Code Online (Sandbox Code Playgroud)
您将需要ENT_QUOTES(转换单引号和双引号)和ENT_HTML5(或除了以外的任何语言标志ENT_HTML401,因此请选择最适合您的情况).
在PHP 5.4.0之前,您需要使用str_replace:
echo str_replace(''', "'", 'They're here.');
Run Code Online (Sandbox Code Playgroud)
有一种“正确”的方式,不使用str_replace, @cbuckley 是正确的,因为默认为html_entity_decodeHTML 4.01,但您可以设置一个 HTML 5 参数来对其进行解码。
像这样使用它:
html_entity_decode($str,ENT_QUOTES | ENT_HTML5)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20243 次 |
| 最近记录: |