Articles of preg replace

BBCODE, preg_replace и двойные кавычки

preg_replace('/\[quote\=(.*?);(.*?)\](.*?)\[\/quote\]/ms', '<blockquote>Posted by: \1 at \2.<br/>\3</blockquote>', $text); Это то, что я использую для замены bCcode [quote=user;id]content[/quote] . В любом случае, он работает только отлично, если в сообщении есть одна цитата. Если бы я получил: [quote=user1;1] [quote=user0;0]some content here[/quote] this is my reply to user0 post[/quote] Он заменит только первую цитату, другой будет просто заменен на […]

Загадка preg_replace: замена нуля или более символа в конце объекта

Скажем, $ d – путь к каталогу, и я хочу, чтобы он начинался и заканчивался ровно одной косой чертой (/). Первоначально он может иметь ноль, одну или несколько ведущих и / или конечных косых черт. Я пытался: preg_replace('%^/*|/*$', '/', $d); который работает для ведущей косой черты, но, к моему удивлению, дает две конечные слэши, если […]

Удаление символов из переменной, созданной с использованием preg_replace

Поэтому я пытаюсь взломать несколько символов в конце URL-адреса, который я получаю от функции preg_replace. Однако, похоже, он не работает. Я не знаком с использованием этих переменных в preg_replace (это было просто то, что я нашел, что «в основном» работал). Вот моя попытка: function addlink_replace($string) { $pattern = '/<ul(.*?)class="slides"(.*?)<img(.*?)src="(.*?)"(.*?)>(.*?)<\/ul>/is'; $URL = substr($4, 0, -8);; $replacement […]

Подзапись заменить буквой акцента

Я пытаюсь вставить разрыв после имени в строке. Но имя может иметь символы типа é $string = 'Test string'; $name = 'Tést'; $replacement = '$0<br />$1'; return preg_replace("/^$name/i", $replacement, $string); Я бы хотел, чтобы это вернулось: Test<br /> string Tést также может быть что-то вроде: Héllo, byé или nùl. Это должно быть правильно? заранее спасибо

Как я могу извлечь или preg_replace китайские символы в строке?

В настоящее время у меня есть список строк, подобных этому 蘋果,香蕉,橙。 榴蓮, 啤梨 鳳爪,排骨,雞排 24個男,2個女,30個老人 То, что я хочу сделать, это просто взорвать все китайские и буквенно-цифровые символы из этих строк. Как я могу заменить все специальные символы, такие как 。 / " И пробелы с – или _ затем извлечь весь китайский символ с […]

Можно ли выполнить этот метод preg_replace_callback в xPath или XQuery?

Нижеприведенный сценарий берет блок $ myContent и выполняет функцию doReplace () в значении $ myKeyword. Проблема заключается в том, что она не знает, находится ли текст замены внутри тега или нет. Мне нужно изменить функцию doReplace (), чтобы она не касалась текста внутри или в качестве атрибутов названных тегов (h1, h2, h3, i, u, b, […]

как заменить адрес электронной почты из html innertext

У меня проблема, для замены адреса электронной почты из html innertext. я могу заменить весь адрес электронной почты. но я не могу заменить только конкретный (внутренний текст html). пожалуйста помогите.. Я попытался с preg_replace('/[A-Z0-9._%+-]+@([A-Z0-9.-]+\.[AZ]{2,4}|[A-Z0-9.-]+)/iu','[—]',$data) пожалуйста помогите. благодаря… мой вход <div data="example1@dom.com,example4@dom.com"><a href="example1@dom.com" > example4@dom.com, <b>example3@dom.com</b> other text, example7@dom.com, ,<i>example5@dom.com</i></a></div > ожидаемый результат: <div data="example1@dom.com,example4@dom.com"><a href="example1@dom.com" […]

preg_replace для построения строки запроса, такой как массив из php-like array

Я хочу преобразовать эту строку: "B=val4, A = [val1, key=val2, val3], C=val5" К этой строке: "B=val4,A[]=asdas&A[key]=val2&A[]=val3,C=val5" Таким образом, его можно использовать с parse_str () Как это сделать, используя preg_replace или preg_replace_callback? preg_replace предпочтительнее.

Множественные замены строк в одной строке в php

У меня есть следующая проблема с заменой строки, и я вхожу в совершенно исправление здесь PFB – образец строки $string = 'The quick sample_text_1 56 quick sample_text_2 78 fox jumped over the lazy dog.'; $patterns[0] = '/quick/'; $patterns[1] = '/quick/'; $patterns[2] = '/fox/'; $replacements[2] = 'bear'; $replacements[1] = 'black'; $replacements[0] = 'slow'; echo preg_replace($patterns, $replacements, […]

Вырезание символов, которые не являются a-zA-Z0-9, _ и – из строк PHP

Я хочу остановить все символы, которые НЕ соответствуют этому шаблону регулярного выражения: [a-zA-Z0-9_-] . Обычно я бы это сделал: preg_replace("[a-zA-Z0-9_-]", "", $var); но, очевидно, это оказывает неочевидное влияние на то, что я хочу. Есть ли НЕ в регулярном выражении? Как я могу получить это, чтобы вычеркнуть любые символы, которые не соответствуют шаблону? Благодарю.