我正在尝试在PHP中创建html内容,对于onclick事件,我已经为div添加了一个名为uchat的函数。该函数采用name参数,该参数是一个字符串。
如下所示:
$name = "Php string";
$echostr .= "<div onClick='uchat(\'$name\')'>
</div>";
但是,传递一个像这样的字符串值会在单击div时导致语法错误。因为,单引号在单引号内。我试图逃避它,但它仍然无法正常工作。
错误是这样的:
SyntaxError: illegal character
uchat(\
我不知道如何逃避字符串参数,我已经多次遇到过这个问题,如果您有解决方案请帮忙。
感谢。
答案 0 :(得分:2)
逃脱的单引号将与外部引号冲突:
$echostr .= "<div onClick=\"uchat('$name')\">
</div>";
答案 1 :(得分:2)
以下是2种干净和简单方法:
<强> 1。经典concat
$name = "Php string";
$str = "<div onClick=\"uchat('" . $name . "')\"></div>";
print $str;
<强> 2。使用sprintf (http://us3.php.net/manual/en/function.sprintf.php)
$name = "Php string2";
$str = sprintf("<div onClick=\"uchat('%s')\"></div>", $name);
print $str;
答案 2 :(得分:1)
试试这个
$echostr .= "<div onClick='uchat("$name")'></div>";
答案 3 :(得分:1)
这有效:
<?php
$name = "Php string";
$echostr .= <<< EOF
<div onClick="uchat('$name')"></div>
EOF;
echo $echostr;
?>
<强>输出:强>
<div onClick="uchat('Php string')"></div>
为了避免转义所有双引号并使html代码更具可读性,您可以使用EOF
。
请参阅操作:http://ideone.com/vRCCVH