我尝试将wordpress
帖子标题和摘录(波斯语)传递给javascript
。这是.php
脚本文件中的代码:
function change(){
document.getElementById("link").innerHTML = '<a href="$links[2]">$titles[2]</a>';
document.getElementById("exer").innerHTML = '$excerpts[2]';
document.getElementById("img").innerHTML = '$imgs[2]';
}
标题没有问题但是当我添加摘录时,它会在javasripts
中出错。
浏览器中生成的javascript
标记为:
function change(){
document.getElementById("link").innerHTML = '<a href="http://sirsaleh.com/2016/09/21/semi-private-idea/">یک ایده – حریم نیمهخصوصی</a>';
document.getElementById("exer").innerHTML = '<p>چیزی که میخوام بگم با حریم نیمهخصوصیهای تعریف شده در جاهای دیگه، اشتباه گرفته نشه. مطلبی که پیش روی شماست کاملا مندرآوردی است. ما همیشه میگیم یه چیز خصوصیه و یه چیز عمومیه. داشتم به این فکر میکردم، بد نیست با همه چیزای عمومی مثل همرفتار نکنیم! بهنظرم یه وقتایی به نظرم لازمه یه … <a href="http://sirsaleh.com/2016/09/21/semi-private-idea/" class="more-link">ادامه خواندن<span class="screen-reader-text"> “یک ایده – حریم نیمهخصوصی”</span></a></p>
';
document.getElementById("img").innerHTML = '';
</script>
这是Chrome浏览器中显示的错误(它指的是我将$摘录传递给javascript的行):
Uncaught SyntaxError: Invalid or unexpected token
当我在json_encode
中使用php
为javascript转换varible时,错误消失了,但所有摘录变量都变为空字符串""
。
我尝试了一些regex
解决方案来删除不需要的非unicode字符,但它也有同样的问题。
任何帮助将不胜感激。
答案 0 :(得分:0)
OH!我在wordpress的the_excerpt()
函数的输出中找到了一些东西。它在the_excerpt()
输出中包含换行符。
所以感谢this answer,我使用了正则表达式:
$excerpts = preg_replace( "/\r|\n/", "", $excerpts );
问题解决了!