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

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

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

 

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

вид форума:
Линейный форум Структурный форум

тема: как вырезать заголовки из html
 
 автор: Wapo   (18.05.2012 в 11:46)   письмо автору
 
 

Пытаюсь вырезать заголовки <h1>.
Есть текст следующего вида


<h1>заголовок 1 <a href="" >Подробно</a></h1>
<h2>подзаголовок 1.1</h2>
<h1>заголовок 2</h1>


Если задать регулярное выражение вида

<h1>.+</h1>


вырезается 1 соответствие

<h1>заголовок 1 <a href="" >Подробно</a></h1>
<h2>подзаголовок 1.1</h2>
<h1>заголовок 2</h1>

А мне нужно получить 2 соответствия

<h1>заголовок 1 <a href="" >Подробно</a></h1>
<h1>заголовок 2</h1>

  Ответить  
 
 автор: Wapo   (18.05.2012 в 12:28)   письмо автору
 
   для: Wapo   (18.05.2012 в 11:46)
 

Нашел в этом форуме подобную задачу, там есть регулярное выражение
<h[0-6]*\>([а-яА-Я0-9\/\.\-\—\(\)\sa-zA-Z]*)\<\/h[0-6]*\>, но если внутри тега объявить другой тэг (например ссылку <a>) это регулярное выражение срабатывает не так как хотелось. Как это исправить? Помогите пожалуйста

  Ответить  
 
 автор: mihdan   (18.05.2012 в 12:57)   письмо автору
 
   для: Wapo   (18.05.2012 в 12:28)
 


|<h[1-6]+>.*?</h[1-6]+>|si


Если работаете через РНР, потом можете вырезать все теги из полученной строки при помощи strip_tags

  Ответить  
 
 автор: Wapo   (18.05.2012 в 14:05)   письмо автору
 
   для: mihdan   (18.05.2012 в 12:57)
 

Я пишу на C#.
Но это уже другая песня.
Спасибо mihdan за помощь.

Конечный вариант (<h[1-6]>.*?</h[1-6]>)|(<p>.*?</p>)|(<div>.*?</div>) с поддержкой параграфов и дивов

  Ответить  
Rambler's Top100
вверх

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