Articles of pcre

PCRE: найдите подходящую скобу для кодового блока

Есть ли способ регулярных выражений PCRE подсчитывать количество вхождений символа, с которым он сталкивается (n), и останавливать поиск после того, как он обнаружил n вхождений другого символа (в частности { и } ). Это для захвата блоков кода (которые могут иметь или не иметь блоков кода, вложенных в них). Если это упрощает, ввод будет однострочной […]

Соответствие регулярных выражений вложенным начальным и конечным тегам

Вот строки, которые я хотел бы удалить из тегов {{if}} и {{\if}} , я имею в виду первый и последний (внутренние будут проверены движком): "до {{if ^^ p1 ^ p2}} IN1; {{if ^ ^ p1}} {{iif}} IN3 {{/ if}} IN1-1 {{/ if}} после слова" "до {{if ^ ^ p1}} IN1; {{if ^ ^ p1}} {{if […]

preg_match_all в простой массив

У меня есть функция preg_match_all: preg_match_all('#<h2>(.*?)</h2>#is', $source, $output, PREG_SET_ORDER); Он работает так, как планировалось, но проблема в том, что он preg_matches все элементы дважды и в огромный многомерный массив, как это, например, где он, как и предполагалось, preg_matched все 11 элементов, но два раза и в многомерный массив: Array ( [0] => Array ( [0] […]

Что означают конструкции \ H, \ V и \ N?

Следующие конструкции плохо документированы, но они работают с определенными версиями PHP; Каковы эти версии, каковы эти конструкции и какие другие реализации поддерживают это? \H \V \N Этот поток является частью справочного руководства по переполнению стека .

Версия библиотеки PCRE слишком старая

Для Bug Genie 3 требуется PCRE librairies 8.0 или новее. У вас есть версия 7.8 2008-09-05. Обновите свою систему до последней версии из ваших обычных источников. после того, как я посмотрю на проблему и попробую обновить библиотеки pcre следующим шагом: wget the latest source of pcre from sourceforge 8.31 # tar -xzf pcre-8.31.tar.gz # cd […]

Экранирующая строка для использования в регулярном выражении

Возможный дубликат: Есть ли функция PHP, которая может избежать шаблонов регулярных выражений до их применения? Я хочу использовать строку, хранящуюся в переменной, в регулярном выражении. Каков наилучший способ (в PHP) избежать строки для использования в регулярном выражении (PCRE)? Например, $text = 'm/z'; // this is the text I want to use as part of my […]

Ошибка PHP PCRE preg_replace

<?php function pregForPreg($value) { $value = preg_replace(array('#\(#', '#\)#', '#\+#', '#\?#', '#\*#', '#\##', '#\[#', '#\]#', '#\&#', '#\/#', '#\$#', '#\\\\#'), array('\(', '\)', '\+', '\?', '\*', '\#', '\[', '\]', '\&', '\/', '\\\$', '\\\\'), $value); return $value; } $var = "TI – Yeah U Know [OFFCIAL VIDEO] [TAKERS] [w\LYRICS]"; $var = pregForPreg($var); //$var is now: // TI – Yeah […]

Заполняйте каждую первую букву слов с помощью preg_replace

Поэтому у меня есть некоторые предложения, которые я вставляю в базу данных с некоторыми процессами автоматической коррекции. Следующее предложение: $sentence = "Is this dog your's because it can't be mine"; И следующий код, чтобы загладить каждое слово, но убедитесь, что он не использует сжатие (например, не): str_replace( "'S", "'s", preg_replace( "/(\w+)n'T?/", "$1n't", ( preg_replace( "/\b[az]/e", […]

Как получить версию PCRE (в комплекте с PHP) из кода?

Есть ли способ получить версию (и дату выпуска) PCRE в комплекте с PHP из кода PHP и сохранить его в переменной? Я могу найти его с помощью phpinfo (), но не могу найти другого способа получить это значение непосредственно из кода. Я пытался найти решение последние пару часов, но это безнадежно. До сих пор я […]

PHP mb_ereg_replace не заменяет, пока preg_replace работает по назначению

Я пытаюсь заменить в строке все несловные символы пустой строкой, ожидающей пробелов, и соединить все несколько пробелов в виде одного пробела. Следующий код делает это. $cleanedString = preg_replace('/[^\w]/', ' ', $name); $cleanedString = preg_replace('/\s+/', ' ', $cleanedString); Но когда я пытаюсь использовать mb_ereg_replace, ничего не происходит. $cleanedString = mb_ereg_replace('/[^\w]/', ' ', $name); $cleanedString = mb_ereg_replace('/\s+/', […]