ilkz
Новичок
Помогите составить регулярное выражение
Есть нижеприведенный код. Задача состоит в том, чтобы научить его выдирать из файла-шаблона (или массива строк) спецтеги, которые впоследствии обрабатываются движком. Сначала хотел все сделать стандартными строковыми функциями, но понял что это - тупик
. Выход из тупика - регулярки. Попытка заюзать POSIX RegExp не привела к желаемому результату. Тогда было принято решение использовать PCRE. И вот что получилось:
Все бы хорошо, НО. Сей код почему-то ищет ТОЛЬКО спецтеги такого вида:
###[TagName Property="Value"]. Но в задаче стоит цель научить алгоритм понимать множество свойств тега.
По идее, регэксп составлен правильно, ведь участок (\w+=[\"\w\"]+)+, а точнее, плюсик в его конце и должен заставлять ПХП искать более одного свойства... Но - он упорно не хочет понимать более одного свойства..... Похоже, что я еще немножко чайник
Помогите, если эта возможность у Вас есть. Спасибо!
Есть нижеприведенный код. Задача состоит в том, чтобы научить его выдирать из файла-шаблона (или массива строк) спецтеги, которые впоследствии обрабатываются движком. Сначала хотел все сделать стандартными строковыми функциями, но понял что это - тупик

PHP:
<?
function ExtractTags( $string )
{
for($i=0; $i<count($string);$i++)
{
if( preg_match("/###\[ *(\w+) +(\w+=[\"\w\"]+)+ *\]/",$string[$i],$match) ) //ищем в строке спецтег
echo "найден тег: <b>".$match[1]."</b> со значенями: <b>".$match[2]."</b>\n";
}
return 1;
}
$f=file("index");
echo "<pre>\n";
ExtractTags($f);
echo "</pre>";
?>
###[TagName Property="Value"]. Но в задаче стоит цель научить алгоритм понимать множество свойств тега.
По идее, регэксп составлен правильно, ведь участок (\w+=[\"\w\"]+)+, а точнее, плюсик в его конце и должен заставлять ПХП искать более одного свойства... Но - он упорно не хочет понимать более одного свойства..... Похоже, что я еще немножко чайник

Помогите, если эта возможность у Вас есть. Спасибо!