Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с preg_match_all в PHP5
Форумы портала PHP.SU » PHP » Регулярные выражения » Проблема с preg_match_all в PHP5

Страниц (1): [1]
 

1. miraz - 30 Июля, 2007 - 12:02:25 - перейти к сообщению
У меня возникла проблема с функцией preg_match_all при переходе с PHP4 на PHP5.
Вот такое выражение ищет все формы на странице:
CODE (text):
скопировать код в буфер обмена
  1. preg_match_all("%<forms+([^>]*)>(.+)(?:<form|</form>|$)%isU",$a,$bb);


В PHP4 все отлично работает,а в PHP5 почему то, если есть не одна форма на странице,а несколько в массиве $bb появляется только одна,первая форма.Ощущение такое ,что функция работает только один раз. В чем может быть проблема ?
Нигде не нашел информации о том, что preg_match_all работает по разному в PHP4 и PHP5.
2. EuGen - 30 Июля, 2007 - 20:19:48 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. preg_match("%<forms+([^>]*)>(.+)(?:<form|</form>|$)%isU",$то_где_ищешь,$matches);
  3.  

$matches на выходе = массив, он будет содержать все вхождения, которые тебе нужны.
а вообще вот:
http://php.su/functions/?preg-match

 

Powered by ExBB FM 1.0 RC1