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 :: Версия для печати :: помогите написать регэксп
Форумы портала PHP.SU » PHP » Регулярные выражения » помогите написать регэксп

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

1. fireXXX - 08 Февраля, 2010 - 23:52:31 - перейти к сообщению
есть такой код
PHP:
скопировать код в буфер обмена
  1. $text = file_get_contents($this->input->post('parserInput', TRUE));
  2. $regularka = "//";
  3. preg_match_all($regularka, $text, $matches);
  4. print_r($matches[0]);


и есть такая html страница, у которой такой код(пишу отрывок)

CODE (html):
скопировать код в буфер обмена
  1. <head>
  2.         <title>
  3.                  Здесь титл
  4.         </title>
  5.         ......
  6.  

Код хтмл с переносами строк, хочу в $matches[0] получить надпись "Здесь титл", или хотя бы что-то подобное, что можно потом урезать, подскажите плз )
(Добавление)
а, нашел в поиске

сделал вот так

PHP:
скопировать код в буфер обмена
  1. $regularka = "|<title>(.*)</title>|sUSi";
  2. preg_match_all($regularka, $text, $matches);
  3. for ($i = 0; $i < count($matches); $i++)
  4. {
  5.     print_r ($matches[$i]);
  6. }
  7.  

все нормально нашлось, я чет подзабыл еще, что там еще 2ой массив вложенный
2. isle - 13 Февраля, 2010 - 11:17:00 - перейти к сообщению
Если нужен только Титул, лучше тогда так:

CODE (htmlphp):
скопировать код в буфер обмена
  1. preg_match('|<title>\s*(.*?)\s*</title>|si', $text, $matches);
  2. $res = $matches[0];
  3. echo $res;

 

Powered by ExBB FM 1.0 RC1