Как реализовать поиск по строке с корректировкой данных?

Добрый вечер, уважаемые программисты!
Подскажите пожалуйста, можно ли реализовать мою идею средствами php?
Есть строка, из БД (комментарий), в ней могут быть разного рода bbcode, текст и т.д.
Мне нужно проанализировать строку на наличие тегов изображений, например:
[img]https://sun9-58.userapi.com/impg/OGT3aYYThqjfZ3gnVOX3a0l2kFguyTwE9kcQ6w/bmPAy_E5rHs.jpg?size=1010x1011&quality=96&sign=1e57b8efd8b03a0057f731f115693cd2&type=album[/img]

Ссылки могут быть на разные ресурсы, но не в этом суть.
Мысль такая, что если в строке есть более двух таких bbcode, то все что после второго, обернуть в bbcode
[spoiler]тут весь контент после второго изображения[/spoiler]

Есть идеи как это сделать?
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
RegExp, мощнейшая вещь в деле обработки текста. Вот такое попробуйте:
if (preg_match("#^(.*?\[img\][^\[\]\s]*\[/img\].*?\[img\][^\[\]\s]*\[/img\])(.+)$#si", $str, $r)) {
    $str = "{$r[1]}[spoiler]{$r[2]}[/spoiler]";
    die($str);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы