我无法让这个工作,它让我发疯,请帮助
echo "<a href='#' onclick='javascript:$.jGrowl
(\"".$_SESSION['product_description'][$i]."\")' >?</a>";
问题归结为'product_description' - 那些单个'标记正在打破它,我该怎么做才能感叹
编辑:如果我替换。$ _ SESSION ['product_description'] [$ i]。有一堆charecters它可以工作,除了PHP和那些''
之外什么都不是问题答案 0 :(得分:2)
$.jGrowl
可能存在真正的问题。在双引号内,PHP尝试解析找到的变量。 e.g。
$foo = 'foo';
echo "This is foo: $foo"; // output: This is foo: foo
因此,要避免这种情况,您需要使用字符串中的$
转义\$
...
echo "...\$.jGrowl..."
请将此处保留在此处以供参考:
使用反斜杠来逃避它们,就像使用双引号一样。 e.g。
// which ever quote is used to encapsulate the string
// must be escaped within the output.
echo 'Hello, \'world!\''; // output: Hello, 'world!'
echo "Hello, \"world!\""; // output: Hello, "world!"
// but, if you use the opposite quote, it does not need
// to be escaped for output.
echo 'Hello, "world!"'; // output: Hello, "world!"
echo "Hello, 'world!'"; // output: Hello, 'world!'
有关更多信息以及需要转义的字符,请参阅字符串上的PHP Docs。
答案 1 :(得分:0)
你错过了开场"
吗?
echo "<a href='#' onclick='javascript:$.jGrowl(\"".$_SESSION['product_description'][$i]."\")' >?</a>";
答案 2 :(得分:0)
成功
echo "<a href='#' onclick='javascript:$.jGrowl(\"".$_SESSION['product_description'][$i]."\")' >?</a>";
答案 3 :(得分:0)
尝试:
echo "<a href='#' onclick='javascript:\$.jGrowl(\"".str_replace('"','\"',$_SESSION['product_description'][$i])."\");' >?</a>";
您需要确保您在值中转义任何双引号...
答案 4 :(得分:0)
这个适用于我:
echo "<a href=\"#\" onclick=\"javascript:$.jGrowl('".$_SESSION['product_description'][$i]."')\" >?</a>";