PHP:如何将 ASCII 转换为 HTML 或如何解码字符串
Posted
技术标签:
【中文标题】PHP:如何将 ASCII 转换为 HTML 或如何解码字符串【英文标题】:PHP: How to convert ASCII to HTML or how to decode string 【发布时间】:2014-09-15 11:41:50 【问题描述】:我有一个数据库表 (SQL Server 2008),其中的表包含一些 ASCII 编码字符(格式为 nvarchar(max)
)。
通常浏览器会自动将这些内容转换为 html,但我使用的 jQuery 插件无法读取这些内容并且需要 HTML 格式的内容。我正在使用 php 将我的内容传递给这个插件。
在 PHP 中有没有办法将这些字符串手动转换为 HTML ?
示例 - 数据库内容:
<p>Some sample text with <strong>HTML</strong></p>
示例 - 插件所需的输出:
<p>Some sample text with <strong>HTML</strong></p>
我尝试自己寻找解决方案,但似乎有不同的方法可用,我不确定这里是否正确。
【问题讨论】:
那么,有不同的方法可供选择 - 为什么不测试它们,看看哪一种能给你带来正确的结果?我真的没有看到对这个问题进行任何研究。 【参考方案1】:你可以试试html_entity_decode();
html_entity_decode('string', ENT_QUOTES, 'UTF-8');
【讨论】:
非常感谢 - 这看起来很棒! 你能告诉我这里和其他答案有什么不同吗? 谢谢 - 你能说一下这里的 ENT_QUOTES 和 ENT_COMPAT 有什么区别吗? ENT_COMPAT,将转换双引号并保留单引号。 ENT_QUOTES 将转换双引号和单引号【参考方案2】:用这个,
echo html_entity_decode($string, ENT_COMPAT, 'UTF-8');
【讨论】:
非常感谢 - 这也很棒。你能告诉我这里与其他答案相比有什么区别吗? Nohing...这里 $string 是 php 变量,如果您愿意,您可以在其中设置您的字符串,如$string = '&lt;p&gt;Some sample text with &lt;strong&gt;HTML&lt;/strong&gt;&lt;/p&gt;';
以防长字符串...
谢谢 - 我的意思是在 ENT_QUOTES 和 ENT_COMPAT 之间。
ENT_COMPAT - 只转换双引号和 ENT_QUOTES - 转换双引号和单引号以上是关于PHP:如何将 ASCII 转换为 HTML 或如何解码字符串的主要内容,如果未能解决你的问题,请参考以下文章
将 Javascript UTF-8 转换为 ASCII(如 PHP 中的 Iconv('UTF-8', 'ASCII//TRANSLIT', $string) )