php字符串賦值到js的坑


  很早以前的一個比較坑的問題,今天又遇到了,記錄一下,免得以后再次入坑.

  把php賦值到view層時,如果不是直接渲染到頁面,而是賦值給變量.字符如果有回車或者換行就會出現問題. 

  示例:

<?php

$a = 'sdfsdf
sadfasdf
asdfasdf';

$b = '<pre>asdfasdf
asdfasdf
asdfasdf</pre>';

?>

<body>
<div></div>

<script>
    var a = '<?php echo $a ?>';
    var b = '<?php echo $b ?>';

    document.getElementsByTagName('div')[0].innerHTML = a;

</script>
</body>

  這里的$a,$b是前端編輯器取到的值.

  報錯:Uncaught SyntaxError: Unexpected token ILLEGAL ,因為js在解析的時候,遇到換行就會出現問題. 

//解決方案 替換\n 使用str_replace 或者preg_replace 都可以,推薦使用str_replace,利用正則效率要低點
$a = str_replace("\n",'<br>',$a);
$b = preg_replace('/\n/','<br>',$b);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM