【问题标题】:Javascript Regular Expression to PHPJavascript 正则表达式到 PHP
【发布时间】:2010-06-21 22:38:50
【问题描述】:

我已经编写了这个计算单词的 JavaScript,但是我无法将这个 JavaScript 代码转换为 PHP 正则表达式。任何人都可以帮助我使用以下代码吗?

return str.replace(/\&\w+;/ig,"")
        .replace(/lt;/g, "<")
        .replace(/gt;/g, ">")
        .replace(/(<([^>]+)>)/ig,"")
        .replace(/^[^A-Za-z0-9-\']+/gi, "")
        .replace(/[^A-Za-z0-9-\']+/gi, " ")
        .split(" ")
        .length - 1;

【问题讨论】:

    标签: php javascript regex


    【解决方案1】:

    PHP 没有 g 标志,最接近的等价物是使用 /is 并将替换 $limit 设置为 null(全部)。

    然后用 " " 爆炸。

    例如

    $search = array
    (
        '/\&\w+;/is',
        '/lt;/s',
        '/gt;/s',
        '/(<([^>]+)>)/is',
        '/^[^A-Za-z0-9-\\\']+/is',
        '/[^A-Za-z0-9-\\\']+/is'
    );
    
    $replacements = array
    (
        '',
        '<',
        '>',
        '',
        '',
        '',
    );
    
    $input = preg_replace($search, $replacements, $input);
    $words = explode(' ', $input);
    $wordCount = count($words) - 1;
    

    已经很晚了,我还没有仔细检查过。希望对您有所帮助。


    编辑:请小心转义反斜杠和单引号。

    【讨论】:

    • 我会因为你的“关于我”的文字而赞成你的回答,但我认为这不公平。不过,这里也方式太晚了(我想我们生活在同一个时区),所以我现在不打算检查你的答案。哦,欢迎来到 SO!
    • 好极了!!!!工作完美!只是提醒其他人,最后替换引号中有一个空格。
    猜你喜欢
    • 1970-01-01
    • 2013-03-16
    • 2013-07-25
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 2010-09-07
    相关资源
    最近更新 更多