bmmshayan Опубликовано 13 июля, 2006 Жалоба Поделиться Опубликовано 13 июля, 2006 (изменено) Привет всем! (Нужна помощь для чата моей онлайн игры) Ситуация такова: (РНР) Есть переменная S которая имеет некий текст сообщения (к примеру): $s='Моя информация [inf]Misha[/inf], а мой лучший бой [log]123[/log]. Смотрите :) '; Хотелось бы чтобы некий скрипт дал результат строку S: $s='Моя информация Misha, а мой лучший бой Бой №123. Смотрите :) '; Но сложность данного скрипта заключается в том, что: 1. Имя ("Misha") может быть не только одним словом, т.е. пробелы могут быть, пример имени "Петр Иванов". 2. Если в тексте присутствует и первый и второй тэг [inf]...[/inf] то замена производится, а если какогото тэга нету то тот один введенный тэг игнорируется, т.е. "Моя информация Misha[/inf],..." или "Моя информация [inf]Misha, а мой..." или "Моя информация [inf][inf]Misha, а мой...". 3. В тексте может быть неограниченное количество вхождений данных тэгов т.е.: "...текст...[inf]Misha[/inf]...текст...[inf]Петр[/inf]...". --------------------------- Кто сможет с этим скриптом помочь буду очень благодарен, ато я уже замучался ламать голову :) Изменено 13 июля, 2006 пользователем bmmshayan Ссылка на комментарий Поделиться на другие сайты Поделиться
Dimon#ic Опубликовано 14 июля, 2006 Жалоба Поделиться Опубликовано 14 июля, 2006 // [inf][/inf] $s = preg_replace ("/(.*)\[inf\](.*)\[\/inf\](.*)/i","\\1<a href=\"infouser.php?name=\\2\">\\2</a>\\3",$s); // [log][/log] $s = preg_replace ("/(.*)\[log\](.*)\[\/log\](.*)/i","\\1<a href=\"log.php?boj=\\2\">Бой № \\2</a>\\3",$s); Ссылка на комментарий Поделиться на другие сайты Поделиться
bmmshayan Опубликовано 14 июля, 2006 Автор Жалоба Поделиться Опубликовано 14 июля, 2006 Dimon#ic: Большое тебе спасибо!!! :( А я уже тут всякими разными способами делал и не получалось или частично получалось а оказалось что записывается оно двумя строками. Респект! P.S.:Как говорится все гениальное - просто. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти