用php和javascript编码的unescape文本
我在用php和javascript编码的unescape文本,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我在PHP中有一些服务器端代码,如下所示 $var2 = htmlspecialchars($var1); 比如说, "It's Monday" gets converted to "It's Monday" 我无法使用该函数在javascript中解码回文本 除了使用(因为这种方式我必须手动处理所有特殊情况)之外,我如何在javascript中解码以获取原始字符串?您可以将html编码的文本分配给一个伪元素并获取其文本,以执行此操作: $('<span/>')
PHP
中有一些服务器端代码,如下所示
$var2 = htmlspecialchars($var1);
比如说,
"It's Monday" gets converted to "It's Monday"
我无法使用该函数在javascript中解码回文本
除了使用(因为这种方式我必须手动处理所有特殊情况)之外,我如何在javascript中解码以获取原始字符串?您可以将html编码的文本分配给一个伪元素并获取其文本,以执行此操作:
$('<span/>').html("It's Monday").text()
$('').html(“今天是星期一”).text()
返回“今天是星期一”
注意:上面没有修改DOM(与我在编辑答案之前所说的不同)您可以将html编码的文本分配给一个伪元素,并返回其文本,为此:
$('<span/>').html("It's Monday").text()
$('').html(“今天是星期一”).text()
返回“今天是星期一”
注意:上面没有修改DOM(与我在编辑答案之前所说的不同)如果您想再次使用JavaScript对文本进行解码,则必须使用PHP对文本进行编码
如果您想再次使用JavaScript对文本进行解码,则必须使用PHP对文本进行编码
首先,为什么要使用
htmlspecialchars
unescape
不起作用,因为您没有逃逸任何东西。我的php代码呈现页面,javascript处理客户端代码。因此使用htmlspecialchars
而不是转义。@AnkitRustagi这并不能真正解释htmlspecialchars
的用法。您所做的并不少见,但是我从来没有使用过htmlspecialchars
@kba MyPHP
code在HTML DOM中嵌入了JSON
字符串(使用htmlspecialchars
编码),我的Javascript
代码使用该字符串。这种方法还有其他替代方法吗?为什么要用htmlspecialchars
编码JSON?我看不出有什么原因。你为什么要首先使用htmlspecialchars
unescape
不起作用,因为您没有逃逸任何东西。我的php代码呈现页面,javascript处理客户端代码。因此使用htmlspecialchars
而不是转义。@AnkitRustagi这并不能真正解释htmlspecialchars
的用法。您所做的并不少见,但是我从来没有使用过htmlspecialchars
@kba MyPHP
code在HTML DOM中嵌入了JSON
字符串(使用htmlspecialchars
编码),我的Javascript
代码使用该字符串。这种方法还有其他替代方法吗?为什么要用htmlspecialchars
编码JSON?我看不出有什么原因。谢谢,但这看起来像是一种黑客行为(可能会卡在我的代码审查中:p),还有其他方法吗?@AnkitRustagi-这确实是一种黑客行为。正确的方法包括捕获&.+
在字符串中,并替换为适当的字符(可能使用字符表)。谢谢,但这看起来像是一个黑客(可能会被我的代码审查卡住:p),还有其他方法吗?@AnkitRustagi-这确实是一个黑客的方法。正确的方法包括捕获&.+在字符串中使用code>并替换为适当的字符(可能使用字符表)。
// PHP
urlencode("It's Monday") // returns "It%27s%20Monday"
// JavaScript
unescape("It%27s%20Monday") // returns "It's Monday"