首页 文章

在javascript变量中获取一个非常大的字符串[关闭]

提问于
浏览
-3

我正在编写一个阅读通知/消息的网页,要求我将通知作为数据库的输入 . 我正在使用php进行输入并使用echo将其传递给javascript函数 .

现在的问题是,如果通知非常大(> 1000个字符或其他东西),该功能将停止工作 . 有没有办法在javascript变量中存储大字符串?

提前谢谢你 .

javascript函数是这样的:

function display(subject, notice, from,to)
{
    alert(notice);
    document.getElementById('reader_default').innerHTML='';
    document.getElementById('subject').innerHTML="SUBJECT : "+subject;
    document.getElementById('from').innerHTML="From: "+from;
    document.getElementById('to').innerHTML="To: "+to;
    document.getElementById('noticedisp').innerHTML=""+notice;
}

php变量传递如下:

echo '<a href="javascript:void(0)" onclick="display(\''.ucfirst($subject).'\',\''.$notice.'\',\''.ucfirst($hostel).' Hostel'.'\',\''.$toid.'\')" style="padding:2%; text-decoration:none; color:#0033CC;">'.ucfirst($subject).'</a>'.'
<span style="padding:2%;"><i>From: </i>'.ucfirst($hostel).'Hostel</span>
'.'

';

首先我提供了以下字符串:

Lorem ipsum dolor sit amet,consectetur adipiscing elit . Ut molestie luctus lectus,nec volutpat ipsum porta sit amet . Phasellus ut egestas sapien . Curabitur mauris erat,eleifend quis adipiscing sollicitudin,posuere tempor ante . Lorem ipsum dolor坐下来,精致的adipistur elit . Ut ut erat nibh . Maecenas malesuada lacus pulvinar risus placerat convallis . 在elit aliquam mollis a eu nisi的Cras vitae urna . Nulla id molestie ante . Aenean faucibus interdum nibh,在tristique dui viverra eu . Nulla facilisi . 在placerat augue整数 . Sed quis risus dolor,在tristique est.Maecenas non tellus vel quam blandit elementum . Sed vestibulum dolor non mi eleifend luctus . Proin interdum mollis congue . Fusce quis consequat augue . 整数dictum lectus在volutpat odio tincidunt的ligula egestas . Sed placerat dictum velit quis dapibus . Cras non quam ut neque auctor hendrerit . Phasellus tincidunt dapibus metus,id rutrum purus fringilla vel . Pellentesque ac sapien elit . Maecenas nibh justo,lobortis id volutpat a,bibendum egestas enim . Vivamus坐在amet justo vel tortor ullamcorper molestie ac sed nibh . Donec adipiscing dui sed odio hendrerit quis aliquet turpis posuere . Donec pharetra mi ut odio luctus sodales . Donec elit nisi,cursus elementum cursus at,scelerisque quis ante . Nunc vel ipsum ut nibh dictum tempus ut ut tortor . Donec dignissim pharetra scelerisque . Curabitur pellentesque urna在lacinia leo euismod的velit ultricies . Nulla id dolor ut odio ultrices accumsan in id erat . Aliquam lorem turpis,tristique nec tincidunt id,lacinia sit amet ante .

如果在尝试所有内容后这不起作用,我将字符串缩短为:

Lorem ipsum dolor sit amet,consectetur adipiscing elit . Ut molestie luctus lectus,nec volutpat ipsum porta sit amet . Phasellus ut egestas sapien . Curabitur mauris erat,eleifend quis adipiscing sollicitudin,posuere tempor ante . Lorem ipsum dolor坐下来,精致的adipistur elit . Ut ut erat nibh . Maecenas malesuada lacus pulvinar risus placerat convallis . 在elit aliquam mollis a eu nisi的Cras vitae urna . Nulla id molestie ante . Aenean faucibus interdum nibh,在tristique dui viverra eu . Nulla facilisi . 在placerat augue整数 .

这个工作!!

2 回答

  • 1

    如果javascript将其解析为字符串,它将在换行符中断开 . 而不是[ENTER]你应该尝试使用\ n \ [ENTER] ..

  • 0

    您的数据可能包含单引号或双引号 . 我会在 htmlspecialchars 中回收你所回应的内容,这样这些以及任何其他有问题的HTML字符都不会破坏你的输出 .

    echo htmlspecialchars('<a href="javascript:void(0)" onclick="display(\''.ucfirst($subject).'\',\''.$notice.'\',\''.ucfirst($hostel).' Hostel'.'\',\''.$toid.'\')" style="padding:2%; text-decoration:none; color:#0033CC;">'.ucfirst($subject).'</a>'.'
    <span style="padding:2%;"><i>From: </i>'.ucfirst($hostel).'Hostel</span>
    '.'

    ');

    http://php.net/manual/en/function.htmlspecialchars.php

相关问题