我编写了这个计算单词的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;
答案 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;
现在已经很晚了,我没有仔细检查过这个。希望它有所帮助。
编辑:请小心转义反斜杠和单引号。