我遇到了一个涉及转义字符的问题,我认为这根本不简单。如果这是在 javascript 中完成的,没什么可说的,但上下文是使用 echo 命令(在 PHP 中)来编写这样的 javascript 代码:
echo "<script>document.getElementById('spanID').innerHTML=\"$x\"</script>";
$x 是 PHP 环境中的变量,可以包含单引号和双引号。我在这里做的是: 1. 保持 $x 不变,如果 $x 包含任何双引号,上面的代码将不起作用,回显的文本可能如下所示:
<script>document.getElementById('spanID').innerHTML="leftside"rightside"</script>;
我以为 $x = leftside"rightside,你可以看到它肯定行不通。
转义 $x 中的双引号(将所有 " 更改为
"
),那么回显的文本可能如下所示:document.getElementById('spanID').innerHTML="leftside
"
右边”;
这
"当它分配给 Span 的 innerHTML 属性时不会转换为“(例如),所以不是我想要的,我的 SPAN 的 innerHTML 应该是左侧”右侧,它将是左侧
"右边。
如果我在原始回声中将“更改为”,如下所示:
echo "<script>document.getElementById('spanID').innerHTML='$x'</script>";
相同,因为这里的 $x 可以同时包含单引号和双引号。
在这种情况下,我没有找到任何其他方法来逃避引号。你能帮帮我吗?
谢谢!