2013-04-09 2 views
0

Я пробовал все, что знаю, но не могу понять!Правильная комбинация escape-символов для ввода PHP в javascript?

echo <<<EOF 

    <a href="javascript:popup('$comments')">Popup!</a> 

EOF; 

Я хочу передать строку, содержащуюся в $ комментариях к всплывающего окна, но я не могу показаться, чтобы получить правильное сочетание экранирующих символов и конкатенации. Помощь pls!

ТИА

Edit: Это HTML, который идет в строку я уже упоминал.

$comments.= "<b>" . $row['comName'] . "</b><br><i>" . $row['comment'] . "</i><br><br>"; 

ответ

1

Вам нужно бежать строку на обоснованную JavaScript/JSON первый сохранить синтаксис Javascript, то избежать Javascript, чтобы сохранить синтаксис HTML он встроен в:

$js = sprintf('javascript:popup(%s)', json_encode($comments)); 
printf('<a href="%s">Popup!</a>', htmlspecialchars($js)); 

Поскольку это довольно боль, вы действительно должны попытаться найти unobtrusive Javascript, который отделяет Javascript от HTML.

+0

Спасибо, что выглядит сложным, но все равно не передает его всплывающему окну. –

+0

Каков итоговый HTML? – deceze

+0

Работаю отлично. Вместо того, чтобы печатать его, я задал его как переменную и поместил ее в поле EOF. Я прочитаю эту статью и посмотрю, смогу ли я использовать этот метод в своем рабочем процессе. Я просто изучаю Ajax и JQuery, и это приводит к некорректному коду. –

Смежные вопросы