У меня есть эта часть кода, которая не работает, я не мог найти, где проблема?
$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>
вы можете использовать синтаксис синтаксиса heredoc: 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/>");
вам следует избегать бесполезных цитат, прежде чем вы заблудитесь внутри.
"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>