Wordwrapping php-> javascript

Wordwrapping php-> javascript

本文关键字:javascript gt php- Wordwrapping      更新时间:2023-09-30

我的mysql数据库中有这样的文本:


你好吗

工作(php):

echo $row['text'];

正在工作:

<script>
test = "<?php echo $comment; ?>";
document.writeln(test.parseURL().parseUsername().parseHashtag());
</script>

错误没有打印出来。

javascript函数:

 <script>
String.prototype.parseURL = function() {
return this.replace(/[A-Za-z]+:'/'/[A-Za-z0-9-_]+'.[A-Za-z0-9-_:%&~'?'/.=]+/g, function(url) {
return url.link(url);
});
};
String.prototype.parseUsername = function() {
return this.replace(/[@]+[A-Za-z0-9-_]+/g, function(u) {
    var username = u.replace("@","")
    return u.link("http://url.com/"+username);
});
};
String.prototype.parseHashtag = function() {
return this.replace(/[#]+[A-Ö–a-ö0-9-_]+/g, function(t) {
    var tag = t.replace("#","")
    return t.link("/?p=tagga&q="+tag);
});
};
</script>

但如果我有它,没有断线,所以它工作你好你好吗

有人知道我该怎么解决吗?

始终查看渲染的输出。在这种情况下:

test = "Hi
how are you?";

这显然是无效的(未终止的字符串常量)。

将PHP变量转储到JS中时,始终使用json_encode

test = <?=json_encode($row['text'])?>;

输出:

test = "Hi'nhow are you?";

Javascript文字多行字符串与PHP中的多行字符串完全不同。要么转义换行符,例如

var text = 'Hi '
how are you?'

或者使其成为一条单行,例如

var text = 'Hi'nHow are you?';