Программирование > Регулярные выражения

vb-код своими руками

(1/1)

Rodent:
Доброе время суток всем.

У меня к Вам вопрос. Я тут пишу что-то наподобии форума... я конечно понимаю, что нет смысла изобретать велосипед по-новой, когда есть столько альтернатив, но хочется чего-нить своего... да и процесс обучения на своих и других ошибках очень занимателен. :-))
Так вот мне нужно что-то наподобии vb-кода, что в общем и здесь присутствует.

На данный момент насочинял вот это

// обработка ссылок
$string = preg_replace("#(https?|ftp)://\\S+[^\\s.,>)\\];\'\\"!?]#",\'<a href="\\\\0" target="_blank">\\\\0</a>\',$string);

// обработка почты
$string = eregi_replace (\'[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\', \'<a href="mailto:\\\\0">\\\\0</a>\', $string);

//  шрифт жирный
$string = eregi_replace (\'(\\[b])([^<>]+)(\\[/b])\', \'<b>\\\\2</b>\', $string);

// шрифт курсив
$string = eregi_replace (\'(\\[i])([^<>]+)(\\[/i])\', \'<i>\\\\2</i>\', $string);

//  рисунок из определенной папки с определенными размерами
$string = eregi_replace (\'(\\[img])([a-z0-9]+)(.)(gif|jpg)(-)([0-9]+)(-)([0-9]+)(\\[/img])\', \'<img src="images\\other\\\\\\2.\\\\4" width="\\\\6" height="\\\\8" border="0" align="left">\', $string);

// ссылка сложная
$string = eregi_replace (\'(\\[u=)([a-zA-Z0-9_.:?&=]+)(])([^<>]+)(\\[/u])\', \'<a href="\\\\2">\\\\4</a>\', $string);

// ссылка простая
$string = eregi_replace (\'(\\[u])([a-zA-Z0-9_.:?&]+)(\\[/u])\', \'<a href="\\\\2">\\\\2</a>\', $string);


Вопрос правильно ли?
Так как если хочу вставить [u=http://gl.9may.ru/][/u]
то получается какая-то бредятина... могу ли я при моем описаниии выше так делать? по-отдельности работает, вместе нет.

Поэтому прошу вашей помощи и оценки:
1. правильность написания
2. можно ли при такой обработке использовать вложенные тэги

Yukko:
ИМХО, не с шаблонами из пар тегов работать надо, обрабатывая всевозможные применения, а ненужное из самих тегов удалять, а потом в большинстве случаев делать:
[tag] заменить на
[/tag] заменить на
тогда и вложенные теги тоже будут обрабатываться, т.к. то, что между открытым и закрытым тегом вообще в расчет не попадает и замена будет строковой функцией проходить.

Rodent:
Не понял...
Yukko это ты про теги работы с текстом (жирный, курсив)
а остальное???

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии