2013-04-09 53 views
0

我已經試過了解我所知道的所有組合,但無法正確使用!正確的轉義字符組合來在JavaScript中注入PHP?

echo <<<EOF 

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

EOF; 

我想通過包含在$意見,在彈出的字符串,但我似乎無法得到的轉義字符和串聯的正確組合。請幫助!

TIA

編輯:這是進入我所提到的字符串的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

謝謝,這看起來很複雜,但仍然沒有傳遞給彈出窗口。 – 2013-04-09 03:18:37

+0

結果HTML是什麼? – deceze 2013-04-09 03:19:14

+0

現在工作完美。我將其設置爲一個變量,並將其放在EOF字段中,而不是printf。我將閱讀那篇文章,看看我是否可以將該方法應用到我的工作流程中。我只是在學習Ajax和JQuery以及它導致一些混亂的代碼。 – 2013-04-09 03:22:36