鍍金池/ 問答/PHP  HTML/ php模板變量傳遞給js問題

php模板變量傳遞給js問題

問題

現(xiàn)在有一個變量$md_content要傳遞給js使用,所以使用

var content = "<?=$article['md_content']?>";

但是由于$md_content(其實(shí)這個變量存了markdown文本)也有可能包含雙引號,單引號,反引號等問題,所以上述代碼有時候會出問題。

解決方案

我現(xiàn)在是把值渲染到一個textarea標(biāo)簽里,然后js取value,也就是

<textarea id="content"  style="display: none"><?=$article['md_content']?></textarea>

var content = $('#content').val();

私以為這不是一個好的解決方案,大家有別的意見嗎??

回答
編輯回答
涼汐

var content = <?=json_encode($article['md_content'])?>;
這可以說是json_encode的一個妙用了,但是要求字符集用utf-8

2017年3月10日 14:29
編輯回答
護(hù)她命

模板上直接就可以用啊。只需要兩行代碼就解決了。根本沒那么復(fù)雜。
給你說了沒那么復(fù)雜,只需要兩行代碼就解決了。這是截圖。鑒于你的差評,我就把代碼部分隱去了。只告訴你,這是絕對可以用的??磮D:
圖片描述

2018年8月2日 08:51
編輯回答
萌面人
function strFilter($str){
    return preg_replace(["/'/", '/"/', '/`/'], ["\\'",'\\"','\\`'], $str);
}

可以寫一個全局函數(shù)

2017年11月6日 16:02