|
|
|
| /*что-то я не соображаю... и медленно впадаю в транс*/
наверное для каждого веб-программиста приходит время когда неоходимо поработать с псевдокодом или BBcode, вот и я созрел и предстал пред такой необходимостью, но наткнулся на проблему.
допустим есть строка псевдокода:
<?
$bbcode_text="[a href='#' class=\"menu\" style='width:10px']click me[/a]";
?>
|
мне необходимо отсюда выдернуть перечень атрибутов
href='#' class=\"menu\" style='width:10px'
|
использую функцию eregi (поидее доолжно всё работать)
<?
eregi ("(.*)\[a([^\]]+)\](.*)\[/a\](.*)",$bbcode_text,$regs );
?>
|
но почему-то ожидаемого результата непроисходит,
массив $regs отсаётся полностью пуст, даже $regs[0].
мне кажется что проблема заключается в квадратных скобках, но не пойму в чём?
люди хелп.... | |
|
|
|
|
|
|
|
для: Crux
(26.01.2006 в 11:45)
| | Да вы лучше не используйте POSIX-регулярные выражения, их всё равно из PHP 6 исключат, используйте Perl-выражения - они более удобны.
<?php
$bbcode_text = "[a href='#' class=\"menu\" style='width:10px']click me[/a]";
$pattern = "|\[a([^\]]+)\](.*)\[/a\]|isU";
preg_match($pattern, $bbcode_text, $out);
echo $out[1]."<br>";
echo $out[2]."<br>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(26.01.2006 в 14:39)
| | понятно, попробуем.
а почему Вы не упомянули в книги что POSIX-регулярные выражения исключат из PHP 6? | |
|
|
|
|
|
|
|
для: Crux
(26.01.2006 в 16:15)
| | Дело в том, что объявлено об этом было только в августе 2005 года... во второй издании "Самоучитель PHP 5" об этом уже упоминается. | |
|
|
|
|
|
|
|
для: Crux
(26.01.2006 в 16:15)
| | А почему авторы книги должны уметь гадать на кофейной гуще и знать, что будет завтра ?!... | |
|
|
|
|
|
|
|
для: DDK
(26.01.2006 в 20:10)
| | меня мало интересует на чём и как умеют гадать авторы.
я задал вполне закономерный вопрос и получил исчерпывающий ответ.
и данный ответ добавил плюсик к тому чтоб я приобрёл второе издание. | |
|
|
|