JavaScript 等价于 PHP 的 preg_replace

Posted

技术标签:

【中文标题】JavaScript 等价于 PHP 的 preg_replace【英文标题】:JavaScript equivalent of PHP's preg_replace 【发布时间】:2010-09-29 06:23:33 【问题描述】:

我正在使用一个简单的正则表达式将中断标签替换为换行符:

br_regex = /<br>/;
input_content = input_content.replace(br_regex, "\n");

这只会替换中断标记的第一个实例,但我需要全部替换。 preg_match_all() 可以在 php 中解决问题,但我想知道 javascript 的等价物。

【问题讨论】:

由于您不需要匹配正则表达式模式,因此您应该在 PHP 中使用 str_replace() 而不是 preg_match_all() 作为示例: $str = str_replace('', " \n", $str); 你真的应该把标题改成 preg_replace 而不是 preg_match_all,这很容易混淆,并且在搜索时没有帮助 【参考方案1】:

使用全局标志,g:

foo.replace(/<br>/g,"\n")

【讨论】:

【参考方案2】:

非正则表达式全局替换的 JS 习语:

input_content.split('<br>').join('\n')

【讨论】:

我觉得使用它很脏,但它可以工作,并且是正则表达式是 base 64 解码的唯一方法。 TY :) 嗨@bobince,Asker 想要一个基于正则表达式的解决方案,你为什么要回答这个问题? @Tamim 正则表达式解决方案已经给出;这是一种替代方法,因为不需要简单的字符串替换正则表达式。

以上是关于JavaScript 等价于 PHP 的 preg_replace的主要内容,如果未能解决你的问题,请参考以下文章

JSP 或 JavaScript 等价于 PHP 的 $_SERVER["HTTP_HOST"]?

preg_match_all JS 等效?

js 如何正则匹配多个,像php 的preg_match()

PHP 在 preg_replace 上崩溃

JavaScript 用于PHP的print_r的Javascript等价物

等价于 JavaScript 中的 continue 语句