PHP字符串初始化操作

时间:2011-09-12 13:11:03

标签: php

我无法让这个工作,它让我发疯,请帮助

echo "<a href='#' onclick='javascript:$.jGrowl
(\"".$_SESSION['product_description'][$i]."\")' >?</a>";

问题归结为'product_description' - 那些单个'标记正在打破它,我该怎么做才能感叹

编辑:如果我替换。$ _ SESSION ['product_description'] [$ i]。有一堆charecters它可以工作,除了PHP和那些''

之外什么都不是问题

5 个答案:

答案 0 :(得分:2)

$.jGrowl可能存在真正的问题。在双引号内,PHP尝试解析找到的变量。 e.g。

$foo = 'foo';
echo "This is foo: $foo"; // output: This is foo: foo

因此,要避免这种情况,您需要使用字符串中的$转义\$ ...

echo "...\$.jGrowl..."

See this demo


请将此处保留在此处以供参考:

使用反斜杠来逃避它们,就像使用双引号一样。 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>";