1

I trying to pass wordpress posts title and excerpts (which are persian) to javascript. here is code in .php script file:

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]';
}

There is no problem with titles but when I add excerpts, it makes error in javasripts. The generated javascript tag in browser is:

        function change(){


            document.getElementById("link").innerHTML = '<a href="http://sirsaleh.com/2016/09/21/semi-private-idea/">یک ایده &#8211; حریم نیمه‌خصوصی</a>';
            document.getElementById("exer").innerHTML = '<p>چیزی که می‌خوام بگم با حریم نیمه‌خصوصی‌های تعریف شده در جاهای دیگه، اشتباه گرفته نشه. مطلبی که پیش روی شماست کاملا من‌درآوردی است.  ما همیشه می‌گیم یه چیز خصوصیه و یه چیز عمومیه. داشتم به این فکر می‌کردم، بد نیست با همه چیزای عمومی مثل هم‌رفتار نکنیم! به‌نظرم یه وقتایی به نظرم لازمه یه &hellip; <a href="http://sirsaleh.com/2016/09/21/semi-private-idea/" class="more-link">ادامه خواندن<span class="screen-reader-text"> &#8220;یک ایده &#8211; حریم نیمه‌خصوصی&#8221;</span></a></p>
';
                    document.getElementById("img").innerHTML = '';
    </script>

here is the error shown in chrome-browser (it refers to line I passed $excerpts to javascript):

Uncaught SyntaxError: Invalid or unexpected token

When I use json_encode in php to convert varible for javascript, the errors vanishes, But all of the excerpts variable become empty string "".

I tried some regex solutions to deleted unwanted non-unicode characters but it has same problem also.

Any help will be appreciated.

SirSaleh
  • 1,452
  • 3
  • 23
  • 39

1 Answers1

0

OH! I find out something in the output of the_excerpt() function of wordpress. It contains a newline character in the the_excerpt() output. so thanks to this answer, I used regex like this:

$excerpts = preg_replace( "/\r|\n/", "", $excerpts );

and problem solved!

Community
  • 1
  • 1
SirSaleh
  • 1,452
  • 3
  • 23
  • 39