我已经编写了这个计算单词的 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 没有 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;
已经很晚了,我还没有仔细检查过这个。希望对您有所帮助。
编辑:请小心转义反斜杠和单引号。
关于php - Javascript 正则表达式到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3088989/