Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как извлечь содержимое между тегами body

Сообщения:  [1-10]   [11-13] 

 
 автор: Adj   (28.03.2010 в 20:09)   письмо автору
 
   для: Usta   (25.03.2010 в 12:40)
 

Спасибо, не знал!

  Ответить  
 
 автор: Usta   (25.03.2010 в 12:40)   письмо автору
 
   для: Adj   (21.03.2010 в 11:12)
 

Вот замечательная функция php tidy_get_body

  Ответить  
 
 автор: Adj   (21.03.2010 в 11:12)   письмо автору
 
   для: skinny   (20.03.2010 в 19:11)
 

Я думаю вот так будет лучше
<body[^>]*>(.*?)<\/body>

  Ответить  
 
 автор: heed   (20.03.2010 в 21:43)   письмо автору
 
   для: skinny   (20.03.2010 в 19:11)
 

(.*?) первое незачем брать в скобки если не нужно то что туда попадёт
(.*?) второе будет работать медленнее чем (.*), но если <\/body> две штуки выберет только до первого <\/body>

иногда лучше два раза отрезать с краёв , чем выдирать середину. Не занимает лишней памяти.

  Ответить  
 
 автор: skinny   (20.03.2010 в 19:11)   письмо автору
 
   для: Adj   (19.03.2010 в 22:36)
 

<body(.*?)>(.*?)<\/body>

  Ответить  
 
 автор: Adj   (19.03.2010 в 22:36)   письмо автору
 
   для: Красная_шляпа   (18.03.2010 в 23:36)
 

Спасибо! Работает!

  Ответить  
 
 автор: Красная_шляпа   (18.03.2010 в 23:38)   письмо автору
 
   для: Красная_шляпа   (18.03.2010 в 23:36)
 

u убери если не utf-8

  Ответить  
 
 автор: Красная_шляпа   (18.03.2010 в 23:36)   письмо автору
 
   для: Adj   (14.03.2010 в 10:28)
 

"/<body>(.*)<\/body>/uis"

  Ответить  
 
 автор: Adj   (14.03.2010 в 10:28)   письмо автору
 
   для: Adj   (13.03.2010 в 15:10)
 

(<body>)(.*)(<\/body>)
<(body>)(.*?)(</\1)

Ничем не отличаются от мною приведенного шаблона, кроме жадности.
Такой шаблон <body>(.*)<\/body> не срабатывает если между тегами есть \r\n, в Unix не пробовал.
<body>
\r\n<h1>Заголовок</h1>
\r\n
\r\n<p>Текст</p>
\r\n</body>

в данном варианте содержимое не находиться, но когда удаляешь \r\n, все срабатывате
<body><h1>Заголовок</h1><p>Текст</p></body>

Вот такой паттерн тоже не работает: <body>(\s|.)*<\/body>

  Ответить  
 
 автор: baston   (14.03.2010 в 10:01)   письмо автору
 
   для: Adj   (13.03.2010 в 15:10)
 

Можно еще такой паттерн использовать:
#<(body>)(.*?)(</\1)#xi

Тогда мы игнорируем пробелы в начале и конце строки, регистр, и используем в качестве ограничения результат из первого кармана - (</\1).

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования