嗨,我有这个简单的代码:
preg_replace('/[\r\n]+/', '</br>',$string);
我想在 JS 中复制相同的代码,所以我这样做:
string.replace('/[\r\n]+/','</br>');
但这行不通。
我也想让它递归使用g
,这可能吗?
谢谢
嗨,我有这个简单的代码:
preg_replace('/[\r\n]+/', '</br>',$string);
我想在 JS 中复制相同的代码,所以我这样做:
string.replace('/[\r\n]+/','</br>');
但这行不通。
我也想让它递归使用g
,这可能吗?
谢谢
replace()
接受类型的第一个参数RegExp
并且您正在传递一个字符串,您需要更改为:
string.replace(/[\r\n]+/,'</br>');
另外,replace()
不是静态方法,换句话说,您不会这样称呼它。相反,您在要执行替换的字符串上调用它。
如果你想使用,g
那么你可以:
string.replace(/[\r\n]+/g,'</br>');
^
在 JavaScript 中,.replace
支持字符串和正则表达式作为替换内容。你给它发送了一个字符串,它不知道它是一个正则表达式。它正在寻找文字 string '/[\r\n]+/'
。
您需要使用正则表达式文字:
string.replace(/[\r\n]+/g,'</br>');
是的,您可以使用这样的正则表达式,不带引号!
new RegExp
如果要使用字符串作为正则表达式,可以使用构造函数:
string.replace(new RegExp('/[\r\n]+/', 'g'),'</br>');