我一直得到ILLEGAL STRING
或ILLEGAL TOKEN
。任何想法吗?我想这是一个逃避问题,但还没有找到正确的解决方案。我正在转义单引号,因为其他代码在同一区域被转义。
I have try:
-
转义
&
等特殊字符 -
"Heredoc",相信这是我的解决方案的一部分,但仍然得到错误。
代码如下:
<?php
$STRING .='
<script type="application/javascript">
function onPictureChanged()
{
var href="http://pinterest.com/pin/create/button/?url="'' + encodeURIComponent(location.href.replace(location.hash, "")) + ''"&media="'' + $(''#fullResImage'').attr(''src'');
jQuery(''.pp_social'').append(“<div class=''pinterest'' ><a href=''”+ href +”'' class=''pin-it-button'' count-layout=''horizontal'' target=''_blank''><img border=''0'' src=''http://assets.pinterest.com/images/PinExt.png'' title=''Pin It'' /></a></div>”);
}
</script>';
echo $STRING;
在某些情况下使用"代替"。即”+ href +”'
= "+ href +"'
p。Mac用户?你可以在Preferences -> Keyboard -> Text
好的,答案肯定是由于尝试了许多方法而导致的不准确的转义。解决方案是以下内容的组合:
- Heredoc大大简化了输出的转义,如果不是完全消除了它的需要。在PHP中使用变量(SQL实践)
- 正确组合单引号和双引号
- 确保没有包含花括号/花哨的引号…无论是从复制/粘贴或我的文本编辑器(见阿尔瓦罗的评论上面)
谢谢你的帮助。一双新鲜的眼睛总是有帮助的!下面是最终的工作代码:
$STRING .=
<<<MY_MARKER
<script type="application/javascript">
function onPictureChanged()
{
var href="http://pinterest.com/pin/create/button/?url="+encodeURIComponent(location.href.replace(location.hash,""))+"&media="+$('#fullResImage').attr('src');
jQuery('.pp_social').append('<div class="pinterest"><a href="+ href +” class="pin-it-button" count-layout="horizontal" target="_blank"><img border="0" src="http://assets.pinterest.com/images/PinExt.png" title="Pin It" /></a></div>');
}
MY_MARKER;