Я знаю, что это очень старый пост, но я хотел бы упомянуть лучший способ, которым я смог коллективно захватить теги заголовков.
<h1>title</h1> and <h2>title 2</h2>
Этот метод (работает как регулярное выражение, однако PHP действует немного иначе.)
/<\s*h[1-2](?:.*)>(.*)</\s*h/i
используйте это в preg_match
|<\s*h[1-2](?:.*)>(.*)</\s*h|Ui
$group[1]
будет включать все, что находится между тегом заголовка. $group[0]
это все <h1>test</h
Это будет учитывать пробелы, и если кто-то добавит "класс / идентификатор"
<h1 class="classname">test</h1>
класс / идентификатор (группа) игнорируется.
ПРИМЕЧАНИЕ. Когда я анализирую HTML-теги, я всегда удаляю и заменяю все пробелы, разрывы строк, табуляции и т. д. на 1 пробел. Это сводит к минимуму многострочные символы, точки ... и очень большое количество пробелов, которые в некоторых случаях могут мешать форматированию регулярных выражений.
- конечно, я беру только 1-2 тега заголовка, измените его на 0-9, чтобы захватить все.
- Если у кого-то еще есть мод, который нужно добавить, или исправление в мой код, ответьте, я бы очень хотел знать.
- Напротив, поскольку Regex плохо работает с HTML, это очень открытый аргумент. Потому что, если вы создадите свои функции php и выражения регулярных выражений, чтобы полностью избавиться от мусора и подготовить html для конкретных выражений регулярных выражений, вы прекрасно сможете получить то, что ищете. Вы можете создать достаточно функций регулярных выражений, чтобы заменить любительскую работу с html.
Вот ссылка на тестовую страницу тест регулярного выражения
person
tmarois
schedule
23.09.2012