我有这段代码,它不起作用,我找不到问题出在哪里?
$texttt = "blabla";
echo "<div onclick='select(\" page d \' accueil \");'>".$texttt."</div><br/>";
function select(text){
alert(text);
}
我有这段代码,它不起作用,我找不到问题出在哪里?
$texttt = "blabla";
echo "<div onclick='select(\" page d \' accueil \");'>".$texttt."</div><br/>";
function select(text){
alert(text);
}
" 正在破坏你的 php 语句
echo "<div onclick=\"select(' page d\' accueil ');\">\"Page d'accueil\"</div><br/>";
function select(text){
alert(text);
}
尝试使用addslashes
和htmlentities
转义文本之间的引号
$texttt = htmlentities(addslashes($text), ENT_QUOTES);
echo "<div onclick='select(\"$texttt\");'>$texttt</div><br/>";
PHP 使用单引号。我对 PHP(这是服务器端脚本)使用单引号,对客户端脚本使用双引号,除非它不是强制性的。
echo '<div onclick="select(\'page d\'accueil\');">"Page d\'accueil"</div><br/>';
问题是由单引号引起的d'accueil
:
我不知道是否可以转义位于另一个转义字符串中的字符串。
可能性:
'
在上下文中使用。我为您输入了一个新代码(效果很好):
<?php
echo '<div onclick="select(this.innerHTML);">"Page d'accueil"</div><br/>';
?>
<script>
function select(text){
alert(text);
}
</script>
在你迷失在里面之前,你应该避免无用的引号。
"Page d'accueil"
不需要在引号之间,所以删除它们。
使用一种(单引号或双引号)作为第一级引用,另一种用于下一级,并牢记这一点。
<? php echo '<div onclick="select(\" page d\' accueil \");">Page d\'accueil</div><br/>'; ?>
<script type="text/javascript">
function select(text){
alert(text);
}
</script>
您可以使用 heredoc 语法 refreence:http ://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
也试试这个:
echo json_encode("<div onclick='select(" page d ' accueil ");'>{$texttt}</div><br/>");