Wordwrapping php->;javascript
我的mysql数据库中有以下文本: 你好Wordwrapping php->;javascript,javascript,php,document.write,Javascript,Php,Document.write,我的mysql数据库中有以下文本: 你好 你好吗 工作(php): 现在工作: <script> test = "<?php echo $comment; ?>"; document.writeln(test.parseURL().parseUsername().parseHashtag()); </script> test=“”; document.writeln(test.parseURL().parseUsername().parseHashtag(
你好吗 工作(php): 现在工作:
<script>
test = "<?php echo $comment; ?>";
document.writeln(test.parseURL().parseUsername().parseHashtag());
</script>
test=“”;
document.writeln(test.parseURL().parseUsername().parseHashtag());
错误没有打印出来
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>
String.prototype.parseURL=函数(){
返回此。替换(/[A-Za-z]+:\/\/[A-Za-z0-9-\]+\.[A-Za-z0-9-\:%&~\?\/.=]+/g,函数(url){
返回url.link(url);
});
};
String.prototype.parseUsername=函数(){
返回此项。替换(/[@]+[A-Za-z0-9-\]+/g,功能(u){
var username=u.replace(“@”和“”)
返回u.link(“http://url.com/“+用户名);
});
};
String.prototype.parseHashtag=函数(){
返回这个。替换(/[#]+[A-Ö–A-ö0-9-#]+/g,函数(t){
var tag=t.replace(“#”,”)
返回t.link(“/?p=tagga&q=“+tag”);
});
};
但是如果我没有断线,它就可以工作了
你好你好吗
有人知道我如何解决这个问题吗?请始终查看渲染输出。在这种情况下:
test = "Hi
how are you?";
这显然是无效的(未终止的字符串常量)
将PHP变量转储到JS中时,始终使用
Javascript文字多行字符串与PHP中的多行字符串完全不同。要么逃离新线
var text = 'Hi \
how are you?'
var text = 'Hi\nHow are you?';
或者只写一行
var text = 'Hi\nHow are you?';
保存在数据库中:$text=mysql\u real\u escape\u string($\u POST['tag']);我应该使用什么代码呢?保存不是问题。这是输出。您需要确保它是正确的javascript。
var text = 'Hi \
how are you?'
var text = 'Hi\nHow are you?';