如何使用PHP转换HTML中的特殊字符?

时间:2015-03-05 18:51:46

标签: php html encoding character-encoding

我希望将特殊字符(如智能引号)转换为HTML实体,但不转换其他HTML标记,因为我需要HTML标记才能工作。 例如,将<div>NVH “noise”</div>转换为<div>NVH &ldquo;noise&rdquo; issues<div>

奇怪的是,如果我在我的本地环境中记录这个,我会用智能引号“噪音”,但在服务器上我得到了?噪音?我的本地用php56运行LAMP。服务器运行54和55.我升级到56仍然没有运气。我认为在PHP配置或其他方面的东西。相同的代码。

2 个答案:

答案 0 :(得分:0)

对于智能引号的一个翻译,或某些字符而非其他字符,str_replace可能是唯一的方法:

$string = str_replace(array('“','”'), array('&ldquo;','&rdquo;'), $string);

答案 1 :(得分:-1)

尝试php htmlspecialchars方法

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;     
?>