PHP реализует preg_match с массивом, а затем preg_replace совпадения ⇐ Php
-
Anonymous
PHP реализует preg_match с массивом, а затем preg_replace совпадения
Я взял этот очень полезный фрагмент с php.net и изменил его.
$cat = Strip_tags(trim($_POST["cat"])); $joke = Strip_tags(trim($_POST["шутка"])); $паттерны = массив(); $patterns[0] = '/быстро/'; $patterns[1] = '/коричневый/'; $patterns[2] = '/лиса/'; $замены = массив(); $replacements[0] = 'медведь'; $replacements[1] = 'черный'; $replacements[2] = 'медленно'; echo preg_replace($patterns, $replacements, $joke); Этот код работает отлично. Каждый раз, когда какое-либо слово в массиве $patterns присутствует, оно заменяется соответствующим $replacement.
Я хотел бы сначала запустить preg_match для $patterns, и если есть совпадение, установите для переменной с именем $status значение true и запустите preg_replace. Но если preg_match не существует, я бы хотел иметь else, если оно говорит иначе, если ни одно совпадение не установило для $status значение false.
Можно ли вообще запустить preg_match в моем массиве $patterns, как я его сейчас настроил? Если да, то как я могу это сделать? Я хотел бы запустить preg_match для существующего массива, чтобы уменьшить необходимость написания дополнительного кода для второго массива, который будет содержать те же слова.
Я взял этот очень полезный фрагмент с php.net и изменил его.
$cat = Strip_tags(trim($_POST["cat"])); $joke = Strip_tags(trim($_POST["шутка"])); $паттерны = массив(); $patterns[0] = '/быстро/'; $patterns[1] = '/коричневый/'; $patterns[2] = '/лиса/'; $замены = массив(); $replacements[0] = 'медведь'; $replacements[1] = 'черный'; $replacements[2] = 'медленно'; echo preg_replace($patterns, $replacements, $joke); Этот код работает отлично. Каждый раз, когда какое-либо слово в массиве $patterns присутствует, оно заменяется соответствующим $replacement.
Я хотел бы сначала запустить preg_match для $patterns, и если есть совпадение, установите для переменной с именем $status значение true и запустите preg_replace. Но если preg_match не существует, я бы хотел иметь else, если оно говорит иначе, если ни одно совпадение не установило для $status значение false.
Можно ли вообще запустить preg_match в моем массиве $patterns, как я его сейчас настроил? Если да, то как я могу это сделать? Я хотел бы запустить preg_match для существующего массива, чтобы уменьшить необходимость написания дополнительного кода для второго массива, который будет содержать те же слова.
Мобильная версия