我需要转换表情符号(例如)在PHP5.3站点上,它们各自的HTML代码实体(例如😀)的字符串。
我需要这样做,以便将用户输入正确地存储在遗留脚本MySQL数据库中,以便稍后在显示给用户时正确显示。当试图从用户输入中直接保存Emojis时,它们被错误地保存为数据库中的?。此遗留脚本不支持utf8mb4 in MySQL ( failed),所有将其数据库、表和列转换为utf8mb4的尝试都解决了这个问题,因此我已经确认的唯一解决方案是将用户(输入的字符串中的表情符号)转换为各自的HTML代码实体,以便正确存储这些实体,以便在数据库中正确显示这些实体,因为现代浏览器会自动将
我想将一个字符串编码到相应的html实体,但不幸的是,我不能这样做。正如我在问题标题中所说的,我希望将字符串中的所有字符转换为相应的html实体(包括数字和名称)。所以根据的说法。我试过:
In [31]: import html
In [32]: s = '<img src=x onerror="javascript:alert("XSS")">'
In [33]: html.escape(s)
Out[33]: '<img src=x onerror="javascript:alert(
除了ASCII字符之外,我想将任何Unicode字符串转换为十六进制HTML实体。所以像这样的字符串:
Text goes here. Here's だ and here's ã.
转换为
Text goes here. Here's だ and here's ã.
作为参考,这个问题有一个函数,可以将所有字符转换为数字实体,但它需要mbstring,而我不能使用(我也不能使用PHP 5.3.10以前的任何特性)。
我在PHP中有一个带有HTML实体的字符串。在html源代码中,我可以看到html实体,但是在输出中,我的字符串没有html实体。
比如:
HTML源:
<a href="google.com" >Me You</a> ?<!-- output is Me YOU -->
如何在PHP中用(空格)替换 ?(以及所有其他HTML实体?)
我想要这个输出:
<a href="google.com" >Me You</a> ?<!-- output is Me YOU
我正在做一些HTML DOM操作:
function parse_html($html) {
$dom->loadHTML($html);
libxml_clear_errors();
// Parse DOM
return $dom->saveHTML();
}
问题是我的HTML包含一些PHP代码,其中一些代码被转换为HTML实体。例如,如果$html包含以下内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www