08.05.2023 11:07:29 am
Как можно из текста удалить конкретный BBcode, с его содержимым? Надо убрать из текста тег
Спасибо.
[img][/img]
, с тем, что внутри. Пробовал удалять функцией str_replace
, но остается адрес на картинку. Расскажите, как можно сделать?
Спасибо.
- Жалоба
08.05.2023 03:55:21 pm
Спасибо! Вы меня извините, я не сказал, что тег
Как удалять такое?
[img][/img]
может содержать в себе дополнительные установки, например, так:[img=w:230px;h:200px;]url:img[/img]
Как удалять такое?
09.05.2023 08:18:33 am
И от меня тоже спасибо, за показанный код!
А подскажите, как сделать, чтобы удалять не один тег, а скажем три:
Спасибо.
А подскажите, как сделать, чтобы удалять не один тег, а скажем три:
[img][url][div]
?Спасибо.
09.05.2023 03:04:23 pm
Хорошая работа! А как теперь дописать код, чтобы после удаления тегов с их содержимым удалялись теги, но содержимое их оставалось?
09.05.2023 03:28:14 pm
Можно так:
Строка:
Либо так:
Первый вариант может оказаться полезным, если какие то теги, все таки необходимо оставить. Второй вариант удаляет все теги, без перечисления.
$text = preg_replace('/\[(\/?)(url|size|color|img|code|icode|quote|media|left|center|right|ul|li|ol|off|spoiler|clear|b|h|i|s|u)(\=?.*?)\]/i', '', $text);
Строка:
url|size|color|img|code|icode|quote|media|left|center|right|ul|li|ol|off|spoiler|clear|b|h|i|s|u
- список всех тегов, которые надо удалить.Либо так:
$text = preg_replace('/\[[^]]+]/iu', '', $text);
Первый вариант может оказаться полезным, если какие то теги, все таки необходимо оставить. Второй вариант удаляет все теги, без перечисления.
13.05.2023 07:11:25 am
Dolphin, отличная работа! Спасибо за помощь!
Потестировал я оба кода, и пришел к выводу, что код с перечислением тегов, что надо удалить, подходит лучше. Некоторые люди пишут в квадратных скобках (
Потестировал я оба кода, и пришел к выводу, что код с перечислением тегов, что надо удалить, подходит лучше. Некоторые люди пишут в квадратных скобках (
[Пример]
), первый код это пропустит, как и задумано, а второй может удалить. По этому я выбрал первый.