Intereting Posts
Ошибка ответа JQuery ajax Codeigniter – была обнаружена ошибка – невозможно загрузить запрошенный класс: зашифровать Комбинированные объекты на основе выбранного элемента в другом поле со списком Laravel 4: публикация активов пакета База данных PostgreSQL – ошибка внутреннего входящего запроса php preg_replace все между конкретными тегами комментария html Удалить index.php с url Laravel 5 Лучший способ справиться с ошибкой 404 с перенаправлением на главную страницу Получение ошибок при вызове функций внутри хранимой процедуры Максимальное время () | PHP Как эффективно использовать try … catch блоки в PHP Преобразовать latin1 в UTF8 Как предотвратить подгрузку http-запросов, если содержимое является приватным? (в основном разрешают только запросы от моего интерфейса, а не от браузера) Функция PHP mail () не будет отправляться в gmail, но будет отправлена ​​на мою учетную запись, отличную от gmail. Значение массива доступа php от возврата функции

PHP Regex Получить текст между тегами BBCode

Мне нужна помощь с PHP-кодом для следующего:

Получите текст между каждым вхождением тегов BBCode [code] и [/ code] в заданной строке, чтобы затем я мог заменить пробелы «символом nbsp».

Короче говоря, я не могу использовать CSS или DOM для этого, мне нужно сделать это на сервере.

# [code] (. *?) [/ code] # кажется, работает только в том случае, если между стартовыми и конечными тегами нет разрывов (или новых строк) …. 🙁

Related of "PHP Regex Получить текст между тегами BBCode"

Я думаю, вы ищете что-то вроде этого

<?php preg_match_all("/\[code\](.*?)\[\/code\]/ism", $search, $match); 

hover, я бы предложил вам использовать синтаксические анализаторы BBcode вместо


Чтобы заменить все пробелы на &nbsp; , просто используйте preg_replace_callback

 <?php $text = preg_replace_callback("/\[code\](.*?)\[\/code\]/ism", function($match) { return str_replace(" ", "&nbsp;", $match[1]); }, $search);