Страница 1 из 1
[PHP] порядок выполнения
Добавлено: 2009-11-13 15:03:21
Alex Keda
Код: Выделить всё
$ret = preg_replace("#\[man\]([a-z0-9&\-_.]+?)\[/man\]#is", mb_strtolower("<a target=\"_blank\" class=\"text_link\" href=\"http://man.freebsd.org/\\1/\">\\1</a>"), $ret);
такая вот хреновина.
есть проблема. написать красиво - будет [man]ZFS[/man]. Но линк не работает - на той стороне - хотят мелкими бувами.
вот тут начинается проблема. ни вариант что выше, ни этот:
Код: Выделить всё
$ret = preg_replace("#\[man\]([a-z0-9&\-_.]+?)\[/man\]#is", "<a target=\"_blank\" class=\"text_link\" href=\"http://man.freebsd.org/" . mb_strtolower('\\1') . "/\">\\1</a>", $ret);
маленькими буквами не делают.
ибо вначале выполянется mb_strtolower('\\1'), а уже затем подстановка =(
как бы извернуться красиво?
Re: [PHP] порядок выполнения
Добавлено: 2009-11-13 17:27:56
zg
lissyara писал(а):как бы извернуться красиво?
через колбэк
Re: [PHP] порядок выполнения
Добавлено: 2009-11-13 17:56:42
Alex Keda
это некрасиво...
да и решение я такое знаю и юзаю местами.
хочеться красиво!
Re: [PHP] порядок выполнения
Добавлено: 2009-11-13 18:01:23
zg
lissyara писал(а):хочеться красиво!
красиво, это через пространство имён -> класс -> колбэк

Re: [PHP] порядок выполнения
Добавлено: 2009-11-13 18:28:32
zg
Код: Выделить всё
$ret = preg_replace(
'#\[man\]([a-z0-9&\-_\.]+?)\[/man\]#ise',
'\'<a target="_blank" class="text_link" href="http://man.freebsd.org/\'. strtolower(\'\\1\') .\'/">\\1</a>\'',
$ret
);