0

テキストファイルを読んでいます。次に、「$arrpg」という名前の配列で 100 ワードずつ分割し、それを js variable にロードしているときに js コードで var が配列値を適切に取得できません。よろしければ、テスト目的でアップロードしたリンクをご覧ください (リンク)

ここで私の入力テキストファイルは「

A MUSICISTA EO GUERREIRO À noite, deitado, no escuro, não tenho forças para evitar o Concerto da virtuose muriçoca. Ela vem dali até aqui na velocidade do som. Procuro capturá-la com a mão, ela -- vivace -- .........................................so many more

"

私のjsコードは

    <script type="text/javascript" charset="UTF-8">


$(document).ready(function() {




    var ind=0;
   var tempv1;
   var tempv2;


    var pages=<?php echo json_encode((int)($page_num));?>;

    var jsarr= <?php echo json_encode($arrpg); ?>;


    var wmap=<?php 

    echo json_encode($word_map); ?>;
    var myurl=<?php echo json_encode($my_link.'write_comment/'.$file_name.'/'.$total_word.'/');?>











     $('.more').each(function() {



        pages++;

           $(this).html(jsarr[ind]);

        tempv2= ' <a class="link2" href="'+myurl+wmap[0]  + '">';


        if(pages!==1)
        {

            tempv1='<span>.... <a href=""class="link1">Read more</a></span>';
            tempv2='<br><br>'+tempv2+'Stop reading</a>';
            $('div.link1').html(tempv1);
            $('div.link2').html(tempv2);


        }
        else
        {


            tempv2='<br><br>'+tempv2+'Please a feedback</a>';

            $('div.link2').html(tempv2);


        }





            scroll();









        });   


    $(".link1").click(function(){


        ind++;


        $('div.more').append(jsarr[ind]);



        tempv2= '<a class="link2" href="'+myurl+wmap[ind]  + '">';

        if(ind<(pages-1) )
        {
            tempv1='<span>.... <a href=""class="link1">Read more</a></span>';
            tempv2='<br><br>'+tempv2+'Stop reading</a>';


            $('div.link1').html(tempv1);
            $('div.link2').html(tempv2);

        }
        else 
        {
            tempv2='<br><br>'+tempv2+'Please a feedback</a>';

            tempv1='';
            $('div.link1').html(tempv1);







            $('div.link2').html(tempv2);


        }



        scroll();

        return false;
    });
});



            function scroll(){
  $('html, body').animate({
    scrollTop: $("#ft").offset().top
  }, 0);
}



</script>

このコードでは、jsarri の宣言で値を正しく取得できません。リンクを見ると、より多くのことがわかります。助けてください。

最初の編集後

`<script type="text/javascript" charset="UTF-8">


$(document).ready(function() {




    var ind=0;
   var tempv1;
   var tempv2;


    var pages=5;

    var jsarr= [" A MUSICISTA E O GUERREIRO\r\n"," a m"," agudo violino. Cubro a\\norelha, sinto calor, descubro a orelha, escuto a muri"," da habilidosa\\ninstrumentista. Na manh"," palmas de\\nminhas m"," morta, rubronegra\\n-- na plan"];
    alert(jsarr);

    var wmap=[30,60,90,120,150,175];
    var myurl="http:\/\/leiame.patio.com.br\/read\/write_comment\/muricoca\/175\/"  











     $('.more').each(function() {



        pages++;

           $(this).html(jsarr[0]);

        tempv2= ' <a class="link2" href="'+myurl+wmap[0]  + '">';


        if(pages!==1)
        {

            tempv1='<span>.... <a href=""class="link1">Read more</a></span>';
            tempv2='<br><br>'+tempv2+'Stop reading</a>';
            $('div.link1').html(tempv1);
            $('div.link2').html(tempv2);


        }
        else
        {


            tempv2='<br><br>'+tempv2+'Please a feedback</a>';

            $('div.link2').html(tempv2);


        }





            scroll();









        });   


    $(".link1").click(function(){


        ind++;


        $('div.more').append(jsarr[ind]);



        tempv2= '<a class="link2" href="'+myurl+wmap[ind]  + '">';

        if(ind<(pages-1) )
        {
            tempv1='<span>.... <a href=""class="link1">Read more</a></span>';
            tempv2='<br><br>'+tempv2+'Stop reading</a>';


            $('div.link1').html(tempv1);
            $('div.link2').html(tempv2);

        }
        else 
        {
            tempv2='<br><br>'+tempv2+'Please a feedback</a>';

            tempv1='';
            $('div.link1').html(tempv1);







            $('div.link2').html(tempv2);


        }



        scroll();

        return false;
    });
});



            function scroll(){
  $('html, body').animate({
    scrollTop: $("#ft").offset().top
  }, 0);
}



</script>`
4

2 に答える 2

0

json_encode には、utf8 以外の文字で問題が発生します。

json エンコード内での文字列の解析は、utf8 以外の最初の文字が見つかった時点で停止します。

だから私は提案します:

json_encode に送信する前に、$arrpg の各値を utf8_encode します。

于 2012-09-18T08:44:36.540 に答える
0
function fix_encoding (&$item, $key)
{
    $item = utf8_encode ($item);
}

array_walk_recursive ($arrpg, 'fix_encoding');
于 2012-09-18T09:01:36.540 に答える