Javascript正则表达式到PHP

时间:2010-06-21 22:38:50

标签: php javascript regex

我编写了这个计算单词的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;

1 个答案:

答案 0 :(得分:1)

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

之后只需用“”爆炸它。

e.g。

$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;

现在已经很晚了,我没有仔细检查过这个。希望它有所帮助。


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