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
Форумы портала PHP.SU » » Вопросы новичков » preg_match

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

1. sterwart - 13 Августа, 2011 - 12:37:50 - перейти к сообщению
почему не работает

PHP:
скопировать код в буфер обмена
  1. $sdds = "<123>381<14>";
  2. preg_match_all('/<123>(.*?)<14>/',$sdds,$out1);
  3. echo $out1[1];

уже все что возможно перепробывал,как мне выдернуть этот 381 ?? уже 3 день парюсь!
(Добавление)
да кстати можно ставить так
#

а можно так
#

чем отличается?
2. OrmaJever - 13 Августа, 2011 - 14:20:18 - перейти к сообщению
sterwart пишет:
чем отличается?

ничем, регулярное выражение может быть между двух одинаковых символов
CODE (htmlphp):
скопировать код в буфер обмена
  1. '#рег. выражение#флаги'
  2. '/рег. выражение/флаги'
3. Мелкий - 13 Августа, 2011 - 14:23:35 - перейти к сообщению
sterwart пишет:
почему не работает

Потому что не там смотрите, интересующее вас вхождение не в $out1[1]. Смотрите var_dump

sterwart пишет:
чем отличается?

Та хоть preg_match_all('@@'..
4. illy - 13 Августа, 2011 - 15:14:06 - перейти к сообщению
echo $out1[1][0];

используй print_r($out1); чтобы посмотреть весь массив
или как сказал Мелкий var_dump($out1);

 

Powered by ExBB FM 1.0 RC1