【问题标题】:Converting php regexp to JavaScript将 php 正则表达式转换为 JavaScript
【发布时间】:2011-07-07 14:30:33
【问题描述】:

我正在尝试将以下 php 表达式转换为 JavaScript,但我遇到了一件事。

preg_replace('/'.preg_quote($keyword).'/i', "<span>$0</span>", $string)

这里发生的事情是我可以使用正确的“大小写字母”重用找到的子字符串。很难解释我的意思,但让我举个例子:

如果用户输入sweden,那么这个字符串全是小写字母。但结果这个词写成瑞典,所以我希望它保持原样。

可以通过使用匹配值 $0 在 php 中执行此操作,正如您在 php 表达式中看到的那样。

在 JavaScript 中,我目前拥有的是:

var highlighted_sub = location_sub_name[i].replace(regexp_highlight,"<span class='loc_keyword'>" + location_keyword + "</span>");

这会将原始结果替换为用户的输入,因此当用户输入它们时,我会在所有小写字母中使用瑞典语,而我实际上希望这些情况与它们真实的情况相同。

【问题讨论】:

标签: php javascript regex replace


【解决方案1】:

你可以在 javascript 中做同样的事情;唯一的例外是“整个匹配”反向引用是$&amp; 而不是$0。其余的,$1$9,工作原理完全相同。在浏览器的地址栏中试一试:

javascript: document.write('foobar'.replace(/(f)[o]/g, ' $1 $& '));

此页面有更多信息:http://www.regular-expressions.info/refreplace.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 2019-12-24
    相关资源
    最近更新 更多