trout
Новичок
Помогите разобратся в работе оператора EREG
Извеняюсь за ОФФТОП... извените плиз...
Ребята не могу понять почему не работает вот это...
_______________________________________________________
Видимо дело в этом (ereg("^\\\\[([^]])*]",$cont,$P))
понять что делает ereg в данном случае я не смог даже прочитав про него в мануале. Но я знаю что он должен делать: это искать в тексте такой блок [name], а вернее сказать искать вот эти скобки [] и смотреть указано ли между ними какоето значение но как это зделать я немогу никак понять.
извените это наверное нубский вопрос но всёравно спасибо!!!
Извеняюсь за ОФФТОП... извените плиз...
Ребята не могу понять почему не работает вот это...
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], а вернее сказать искать вот эти скобки [] и смотреть указано ли между ними какоето значение но как это зделать я немогу никак понять.
извените это наверное нубский вопрос но всёравно спасибо!!!