Регулярное выражение JavaScript в PHP - PullRequest
2 голосов
/ 22 июня 2010

Я написал этот 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 Ответ

1 голос
/ 22 июня 2010

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;

Уже довольно поздно, и я еще не проверил это дважды.Надеюсь, это поможет.


Редактировать: Пожалуйста, будьте осторожны с экранированием от обратной косой черты и одинарных кавычек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...