Intereting Posts
Обслуживание файла через PHP-скрипт и безопасная замена этого файла на лету Постоянство сеанса между несколькими доменами? Эквивалент PHP для партитур / коллекций шаблонов RoR Отправка нескольких CC и BCC с помощью PHP PEAR MAIL SilverStripe 3 Фильтрация / фильтрация DataObjects в функции Как сохранить китайский или другой иностранный язык, как они есть, вместо того, чтобы превращать их в коды? codeigniter проблема с регистром Как печатать переменные twig внутри html-кода В php при инициализации класса, как передать переменную этому классу, которая будет использоваться в ее функциях? добавить разрыв строки между двумя переменными WooCommerce Пустая корзина после оплаты с помощью API пользовательского шлюза PHP, если URL-адрес равен этому, выполните действие htaccess перенаправляет удаление index.php Получайте содержимое корзины за пределами Magento, но в том же домене MYSQL foreach Row Echo Data

Есть ли функция PHP, которая может избежать шаблонов регулярных выражений до их применения?

Есть ли функция PHP, которая может избежать шаблонов регулярных выражений до их применения?

Я ищу что-то по строкам функции C # Regex.Escape() .

Related of "Есть ли функция PHP, которая может избежать шаблонов регулярных выражений до их применения?"

preg_quote() – это то, что вы ищете:

Описание

 string preg_quote ( string $str [, string $delimiter = NULL ] ) 

preg_quote () принимает str и помещает обратную косую черту перед каждым символом, который является частью синтаксиса регулярных выражений. Это полезно, если у вас есть строка времени выполнения, которую нужно сопоставить в некотором тексте, и строка может содержать специальные символы регулярных выражений.

Специальные символы регулярного выражения:. . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

параметры

ул

Входная строка.

ограничитель

Если задан опциональный разделитель, он также будет экранирован. Это полезно для устранения разделителя, который требуется для функций PCRE. / Является наиболее часто используемым разделителем.

Важно отметить, что если аргумент $delimiter не указан, разделитель – символ, используемый для приложения вашего регулярного выражения, обычно косой черты ( / ) – не будет экранирован. Обычно вы хотите передать любой разделитель, который вы используете с вашим регулярным выражением, в качестве аргумента $delimiter .

Пример – использование preg_match для поиска вхождений заданного URL, окруженного пробелами:

 $url = 'http://stackoverflow.com/questions?sort=newest'; // preg_quote escapes the dot, question mark and equals sign in the URL (by // default) as well as all the forward slashes (because we pass '/' as the // $delimiter argument). $escapedUrl = preg_quote($url, '/'); // We enclose our regex in '/' characters here - the same delimiter we passed // to preg_quote $regex = '/\s' . $escapedUrl . '\s/'; // $regex is now: /\shttp\:\/\/stackoverflow\.com\/questions\?sort\=newest\s/ $haystack = "Bla bla http://stackoverflow.com/questions?sort=newest bla bla"; preg_match($regex, $haystack, $matches); var_dump($matches); // array(1) { // [0]=> // string(48) " http://stackoverflow.com/questions?sort=newest " // }