Синтаксическая проблема с кавычками в PHP и HTML - PullRequest
1 голос
/ 09 марта 2011

У меня есть этот php-код

echo "<textarea id='textarea' cols='70' rows='5' name='code'>".$code."</textarea>";

, и мне нужно поставить это onClick="SelectAll('txtarea');" после id='textarea', но цитаты меня портят, и я не могу понять.

Любая помощь?

Спасибо!

Ответы [ 9 ]

5 голосов
/ 09 марта 2011

Объяснение

Вам нужно будет избегать двойных кавычек, чтобы они не читались как код PHP.Вы можете сделать это, набрав перед ними символ \.Вы можете узнать больше о экранировании символов в PHP здесь . Измените свой код на это

echo "<textarea id='textarea' onClick=\"SelectAll('txtarea');\" cols='70' rows='5' name='code'>".$code."</textarea>";
1 голос
/ 09 марта 2011

Попробуйте это: echo "<textarea id='textarea' onClick=\"SelectAll('txtarea');\" cols='70' rows='5' name='code'>".$code."</textarea>";

1 голос
/ 09 марта 2011

Вы пытались использовать Escape Character \ "?

Так было бы

onClick=\"SelectAll('txtarea');\"
1 голос
/ 09 марта 2011

Вы можете экранировать кавычки с помощью символа обратной косой черты "\".Попробуйте что-то вроде этого:

echo "<textarea id=\"textarea\"></textarea>";
0 голосов
/ 09 марта 2011

Почему бы тебе не облегчить себе жизнь?Если вам нужны одинарные и двойные кавычки внутри строки, вы можете использовать heredoc синтаксис , например:

echo <<<EOF
<textarea id="textarea" cols="70" onClick="SelectAll('txtarea');" rows="5" name="code">$code</textarea>
EOF;
0 голосов
/ 09 марта 2011

Вы должны экранировать кавычки, используя обратную косую черту, поэтому вставьте onClick = \ "SelectAll ('txtarea') \"

То же самое рекомендуется для других атрибутов, например, смещ_по_столбцы = \ "70 \"

0 голосов
/ 09 марта 2011

Используйте это

echo "<textarea id='textarea' cols='70' onClick=\"SelectAll('txtarea');\"  rows='5' name='code'>".$code."</textarea>";

0 голосов
/ 09 марта 2011

Используйте \ "вместо" в вашем тексте.

0 голосов
/ 09 марта 2011
echo "<textarea id='textarea' onClick='SelectAll(\"txtarea\");' cols='70' rows='5' name='code'>".$code."</textarea>";
...