Deff написал(а):Блин - Давайте сначала - Для чего вся эта затея , поясните полностью, что обрамляем в BB- ТЕги - зачем обрамляем, чую что нагородили, то что в две строки нужно решать
Ок.
Итак, то, что я делаю - модераторский тег.
[adm=<Ник модератора>]Текст записи[/adm]
Скрипт должен заменять bb-код на это:
<span class="adm-box" style="display: block; font-weight: bold; text-align: right; <стиль, которым будет выделен текст>">Текст записи<br><Ник модератора></span>
Текст для красной части кода генерируется в функции GenStyle(name), где name - <Ник модератора>. Можно, конечно было обойтись и без GenStyle, при помощи CSS, но ник модератора может содержать кирилические символы.
<br><Ник модератора> в конце - подпись, она работает верно (ставится автоматом; если перед ником в коде есть "!", то подпись не добавляется (работает уже))
Вот. Я попытался сделать это регулярками. Но, для кода
[adm=kozhilya]И же ведь[/adm]111
[adm=Mia]жадная же эта бодяга![/adm]
итог почучается не тем (цвета соответствующие):
<span class="adm-box" style="display: block; font-weight: bold; text-align: right; color: yellow; font-family: Comic Sans MS;">И же ведь<br>kozhilya</span>
111<br>
<span class="adm-box" style="display: block; font-weight: bold; text-align: right; color: yellow; font-family: Comic Sans MS;">жадная же эта бодяга!<br>kozhilya</span>
Вместо красного (неверная часть) должно быть это:
<span class="adm-box" style="display: block; font-weight: bold; text-align: right; color: red;">жадная же эта бодяга!<br>Mia</span>
Если я правильно понимаю, то это связано с тем, что у меня в скрипте не обновляется переменная name. Задача в том, что бы она изменялась. Точнее даже так: как сделать так, что бы регулярная выражение изменило только первое вхождение, ибо потом можно будет это загнать в цикл.
Отредактировано kozhilya (Вт, 21 Фев 2012 17:33:58)