php - Javascript 正则表达式到 PHP

标签 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;

最佳答案

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/

相关文章:

mysql 正则表达式接受所有国际重音符号,不接受逗号或感叹号

php - 在网站结构中找到 "orphan"文件

php - 使用 Composer 要求多个子目录共享文件

php - 在 LAMP 堆栈上,如何限制并发连接数并为超出该限制的用户提供静态页面?

javascript - 使用或不使用变量的数字之间的差异

javascript - Angular JS - 连接到 Woocommerce OAuth v1

javascript - 如何避免在刷新时重置本地存储中的 JSON 对象?

regex - 如何匹配小于或等于100的数字?

PHP MySQL 更新列错误

javascript - 使用 jQuery each 和 javascript 正则表达式匹配 HTML block 中的最低价和最高价