Вырезание тегов phpbb
-
- Former team member
- Сообщения: 955
- Стаж: 20 лет 3 месяца
- Откуда: Москва
Вырезание тегов phpbb
Нужен 100% рабочий код для вырезки тегов phpbb (всех или хотя бы одного) из сообщения.
Проблема использования regexp обсуждалась здесь, но безрезультатно:
http://phpbbguru.net/community/viewtopic.php?t=1808
Проблема использования regexp обсуждалась здесь, но безрезультатно:
http://phpbbguru.net/community/viewtopic.php?t=1808
-
- phpBB Maniac
- Сообщения: 1464
- Стаж: 20 лет 3 месяца
- Откуда: Novosibirsk,RU
Coagulant
вопрос... надо как в теме вложенные цитаты резать или просто теги? если просто теги... то почему не резать так...
из search.php
или так...
так режется ббкод, если он отключен... хотя это лишь показывает его как есть.. но легко доработать до полного удаления тегов...
или чуть-чуть недоработать стандартную обработку из bbcode.php
например вот так...
у меня стабильно убил тег
вопрос... надо как в теме вложенные цитаты резать или просто теги? если просто теги... то почему не резать так...
из search.php
Код: Выделить всё
$message = preg_replace("/\[.*?:$bbcode_uid:?.*?\]/si", '', $message);
$message = preg_replace('/\[url\]|\[\/url\]/si', '', $message);
Код: Выделить всё
preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message)
или чуть-чуть недоработать стандартную обработку из bbcode.php
Код: Выделить всё
$text = preg_replace("/\[color=(\#[0-9A-F]{6}|[a-z]+):$uid\]/si", $bbcode_tpl['color_open'], $text);
$text = str_replace("[/color:$uid]", $bbcode_tpl['color_close'], $text);
Код: Выделить всё
$message = preg_replace("/\[color=(\#[0-9A-F]{6}|[a-z]+)\:[0-9a-z\:]+\]/si", '', $message);
$message = preg_replace("/\[\/color\:[0-9a-z\:]+\]/si", '', $message);
Код: Выделить всё
[color=blue][/color]
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
-
- Former team member
- Сообщения: 955
- Стаж: 20 лет 3 месяца
- Откуда: Москва
[R: R@m$e$ :U]
А как вырезать теги без $bbcode_uid? т.е. например получить из вот такой текст:
А как вырезать теги без $bbcode_uid? т.е. например получить из
Код: Выделить всё
[beta][quote][tratata][/quote]
Код: Выделить всё
[beta][tratata]
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Coagulant
Код: Выделить всё
$match = array(
'[quote]',
'[/quote]'
);
$text = str_replace($match, '', $text);
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- Former team member
- Сообщения: 955
- Стаж: 20 лет 3 месяца
- Откуда: Москва
Ну это частный случай =) Я имел в виду вобщем, конечно. Чтобы вырезались все теги (у них нет uid), но оставались нетронутыми скобочные структуры, не являюющиеся тегами.
Добавлено спустя 1 минуту 17 секунд:
Можно кончно
Добавлено спустя 1 минуту 17 секунд:
Можно кончно
но получится громозко, имхо[R: R@m$e$ :U] писал(а):доработать стандартную обработку из bbcode.php
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
А без bbcode_uid ты [beta] отCoagulant писал(а):это частный случай
Код: Выделить всё
не отличишь :( Приходится обходиться такими частностями. Массив естественно расщиряется сколько душе годно.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB Maniac
- Сообщения: 1464
- Стаж: 20 лет 3 месяца
- Откуда: Novosibirsk,RU
Coagulant
хм... можно сообразить на удаление [something].....[/something] но вот это тоже не спасет от удаления лишнего... это будет воспринимать любую такую связку за теги... и удалять... минусы... не поддерживает одинарные теги... их надо в ручную массивом... вариантом от Ксперта =) и вероятность удаления лишнего... хотя.... я не уверен, что кто-то просто так будет использовать связки [something][/something] =) легко осуществимо с помощью preg_replace =)
хм... можно сообразить на удаление [something].....[/something] но вот это тоже не спасет от удаления лишнего... это будет воспринимать любую такую связку за теги... и удалять... минусы... не поддерживает одинарные теги... их надо в ручную массивом... вариантом от Ксперта =) и вероятность удаления лишнего... хотя.... я не уверен, что кто-то просто так будет использовать связки [something][/something] =) легко осуществимо с помощью preg_replace =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y