PDA

Просмотр полной версии : Проблема с регуляркой


попугай
14.09.2008, 15:12
Делаю скриптог , который должен искать строки вида

<a href="/слово которое не меняется/изменяемое слово/"> в тексте и потом обрабатывать их...


$reg = "/<a href=\/слово которе не меняется\/\S+\/>/si";
$txt = "Техта много";
preg_match_all($reg, $text, $mach);
print_r($mach);



Выводит только 8 слов первых и не больше... в чом может быть дело?

попугай
14.09.2008, 15:24
все равно больше 8 не находит.. + лишнее еще захватывает..(ну это пох - исправить можно, а вот почему дальше не ищет -не могу понять)

попугай
14.09.2008, 15:35
Сделал таким образом


$reg = "#\/слово\/\S+\"#s";
$txt = "Техта много";
preg_match_all($reg, $txt, $mach);
print_r($mach);


Работает... ))


Остался другой вопрос - как сделать так, чтоб не собирались повторно совпадения которые уже есть ?
Модификатор какойто может?

diehard
14.09.2008, 15:37
Остался другой вопрос - как сделать так, чтоб не собирались повторно совпадения которые уже есть ?
Модификатор какойто может?

чисть массив $matches[...] через array_unique()

попугай
14.09.2008, 15:38
ну это я тоже знаю, просто я думал может есть способ прям из функции preg_match_all() ..