php что эквивалентно preg_match, но не требует регулярных выражений? - PullRequest
1 голос
/ 28 апреля 2011

В PHP есть эквивалент preg_match, который не требует использования регулярных выражений?Есть str_replace() для preg_replace.Есть ли что-то для preg_match.

* обновления * Я только ищу замену известной строки другой.Использование регулярных выражений выглядит как излишнее.

У меня есть строка «Это [test1], а не [test2]», и я хочу сопоставить их с «[test1]» и «[test2]».

Ответы [ 5 ]

4 голосов
/ 28 апреля 2011

Если вы имеете в виду найти строку в другой строке без использования регулярного выражения , вы можете использовать strpos

if (strpos('hello today', 'hello') !== false) {
    // string found
}
1 голос
/ 28 апреля 2011

Чтобы ответить на ваш вопрос, есть некоторая функция PHP без регулярного выражения

Не используйте preg_match (), если вы хотите только проверить, содержится ли одна строка в другой.Вместо этого используйте strpos () или strstr (), так как они будут быстрее.

Но они не могут полностью заменить preg_match

0 голосов
/ 28 апреля 2011

Большинство разработчиков используют preg_match, потому что они хотят использовать совпадения (третий параметр, который будет установлен функцией).

Я не могу придумать функцию, которая будет возвращать или устанавливать ту же информацию, что и в случае совпадений.

Если, однако, вы используете preg_match без регулярных выражений, то вас могут не беспокоить совпадения.

Если вы используете preg_match, чтобы увидеть, есть ли «совпадение», и просто так, то я бы предложил вместо этого использовать strpos , поскольку гораздо эффективнее увидеть, найдена ли одна строка в другой. .

0 голосов
/ 28 апреля 2011

Так как я не уверен, какой результат вы ищете, я не могу сказать, если это именно то, что вы ищете.

Вы можете использовать strpos, чтобы увидеть, есливхождение одной строки в другую.

0 голосов
/ 28 апреля 2011

Во-первых, str_replace() не является заменой для preg_replace().Функция str_replace() заменяет все вхождения строки поиска строкой замены, preg_replace () заменяет контент, выбранный регулярными выражениями (это не одно и то же).

Для многих вещей требуется регулярное выражение (и это хорошо), поэтомуВы не можете просто заменить его одной функцией PHP.

...