PHP:如何巧妙地编码HTML

时间:2017-06-27 08:48:56

标签: php tcpdf html-encode

使用tcpdf.writeHTML()时遇到了以下问题:

我需要在函数中输入有效的HTML,但是我从非有效的DB字段中获取文本

例如:(在下面,我在标签和实体中添加了空间,以便人们可以看到它们......)

$htmlFreeText .= '• Capacité : jusqu'à 10 kg <br >'; // err! 
$htmlFreeText .= '• Température : <75% RH <br >';    // err!

如果我手动替换为HTML实体,一切运行良好:

$htmlFreeText .= '• Capacité : jusqu & #039 ; à 10 kg < br >'; // works!
$htmlFreeText .= '• Température : & lt ; 75% RH < br >'; // works!

我尝试使用htmlspecialchars($myString, ENT_QUOTES, 'ISO-8859-1', true); 但我需要保留以下HTML标记,而不是将其替换为&amp; LT;标签&amp; gt;

<br >      
<strong > </strong>      
<b> </b>      
<i> </i>      
<u> </u>      
<sup> </sup>
<a href="http://www.lien.com" >titre ici</a>    
<a target="_blank" href="http://www.lien.com" >titre ici</a>

我可以将几乎所有这些标签替换为{opening-tag} {/ closing-tag} 使用htmlspecialchars,然后将所有{tags}替换回&lt;标签&gt; 但是在这个解决方案中我遇到了&lt; a&gt;打开标签。

我是否可以使用一个简单的PHP函数来保留HTML标记但是替换某些实体?

0 个答案:

没有答案