Помогите разобратся в работе оператора EREG

trout

Новичок
Помогите разобратся в работе оператора EREG

Извеняюсь за ОФФТОП... извените плиз...
Ребята не могу понять почему не работает вот это...
PHP:
// "Склеивание" блоков.
// Если тело блока начинается с [name], то оно не просто
// записывается в массив блоков, а "пристыковывается" к значению,
// уже там находящемуся, причем в качестве символа-соединителя
// выступает тело блока с именем name. Если строка name не задана
// (то есть указаны []), используется блок с именем DefaultGlue,
// а если этого блока нет, то соединитель по умолчанию — " | ".
function _FBlkGlue($name,&$cont,$url)
{ global $BLOCK;
if(ereg("^\\\\[([^]])*]",$cont,$P)) {
$c=substr($cont,strlen($P[0])); // тело блока после [name]
$n=$P[1]; // имя соединителя
// Есть с чем "склеивать"?
if(!empty($BLOCK[$name])) {
$glue=@$BLOCK[$n];
if(!Isset($glue)) $glue=@$BLOCK[BlkDefGlue];
if(!Isset($glue)) $glue=DefGlue;
$cont=$BLOCK[$name].$glue.$c;
}
// "Склеивать" нечего — просто присваиваем.
else $cont=$c;
}
}
_______________________________________________________

Видимо дело в этом (ereg("^\\\\[([^]])*]",$cont,$P))
понять что делает ereg в данном случае я не смог даже прочитав про него в мануале. Но я знаю что он должен делать: это искать в тексте такой блок [name], а вернее сказать искать вот эти скобки [] и смотреть указано ли между ними какоето значение но как это зделать я немогу никак понять.

извените это наверное нубский вопрос но всёравно спасибо!!!
 

trout

Новичок
Дмитрий Котеров знаете такого вот у него учебник "Самоучитель РНР" возможно это опечатка типографии...
 

oracloid

совсем кукус
хм, так у него и спроси.
форум по книгам Котерова: http://forum.dklab.ru/php/book/
 

Londeren

Новичок
регулярка следующая
"\[\w+\]"
совпадает с выражением "[буквы]"
если между скобками ниче нет то совпадения не будет
 
Сверху