Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用php和javascript编码的unescape文本_Javascript_Php_Jquery_Html - Fatal编程技术网

用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&#039;s Monday" 我无法使用该函数在javascript中解码回文本 除了使用(因为这种方式我必须手动处理所有特殊情况)之外,我如何在javascript中解码以获取原始字符串?您可以将html编码的文本分配给一个伪元素并获取其文本,以执行此操作: $('<span/>')

我在
PHP
中有一些服务器端代码,如下所示

$var2 = htmlspecialchars($var1);
比如说,

"It's Monday" gets converted to "It&#039;s Monday"
我无法使用该函数在javascript中解码回文本


除了使用(因为这种方式我必须手动处理所有特殊情况)之外,我如何在javascript中解码以获取原始字符串?

您可以将html编码的文本分配给一个伪元素并获取其文本,以执行此操作:

$('<span/>').html("It&#039;s Monday").text()
$('').html(“今天是星期一”).text()
返回“今天是星期一”


注意:上面没有修改DOM(与我在编辑答案之前所说的不同)

您可以将html编码的文本分配给一个伪元素,并返回其文本,为此:

$('<span/>').html("It&#039;s Monday").text()
$('').html(“今天是星期一”).text()
返回“今天是星期一”


注意:上面没有修改DOM(与我在编辑答案之前所说的不同)

如果您想再次使用JavaScript对文本进行解码,则必须使用PHP对文本进行编码


如果您想再次使用JavaScript对文本进行解码,则必须使用PHP对文本进行编码


首先,为什么要使用
htmlspecialchars
unescape
不起作用,因为您没有逃逸任何东西。我的php代码呈现页面,javascript处理客户端代码。因此使用
htmlspecialchars
而不是转义。@AnkitRustagi这并不能真正解释
htmlspecialchars
的用法。您所做的并不少见,但是我从来没有使用过
htmlspecialchars
@kba My
PHP
code在HTML DOM中嵌入了
JSON
字符串(使用
htmlspecialchars
编码),我的
Javascript
代码使用该字符串。这种方法还有其他替代方法吗?为什么要用
htmlspecialchars
编码JSON?我看不出有什么原因。你为什么要首先使用
htmlspecialchars
unescape
不起作用,因为您没有逃逸任何东西。我的php代码呈现页面,javascript处理客户端代码。因此使用
htmlspecialchars
而不是转义。@AnkitRustagi这并不能真正解释
htmlspecialchars
的用法。您所做的并不少见,但是我从来没有使用过
htmlspecialchars
@kba My
PHP
code在HTML DOM中嵌入了
JSON
字符串(使用
htmlspecialchars
编码),我的
Javascript
代码使用该字符串。这种方法还有其他替代方法吗?为什么要用
htmlspecialchars
编码JSON?我看不出有什么原因。谢谢,但这看起来像是一种黑客行为(可能会卡在我的代码审查中:p),还有其他方法吗?@AnkitRustagi-这确实是一种黑客行为。正确的方法包括捕获
&.+
在字符串中,并替换为适当的字符(可能使用字符表)。谢谢,但这看起来像是一个黑客(可能会被我的代码审查卡住:p),还有其他方法吗?@AnkitRustagi-这确实是一个黑客的方法。正确的方法包括捕获
&.+并替换为适当的字符(可能使用字符表)。
// PHP
urlencode("It's Monday") // returns "It%27s%20Monday"

// JavaScript
unescape("It%27s%20Monday") // returns "It's Monday"