Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Генерация массива заголовков HTML


Recommended Posts

Доброе время суток, заказчик поставил интересную и вроде бы нужную всем задачу, в блоге нужно сделать ссылка навигации (с якорями на заголовки H2).

Вроде все логично, на JS такое написать легко переобойти html взять h2 вывести блок ссылок с якорями...

Но как это дело сделать на уровне пыхи?) найти в тексте все h2 сложить их в массив с якорем и текстом самого h2 ?

 

Есть кто такое делал, поделитесь опытом, очень нужно ...

Надіслати
Поділитися на інших сайтах

08.03.2023 в 21:40, chukcha сказал:

парсер html
например DOMDocument

Спасибо большое, что указали в какую сторону копать, никогда не сталкивался с парсингом...

Надіслати
Поділитися на інших сайтах

08.03.2023 в 21:40, chukcha сказал:

например DOMDocument

 

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

 

---

Я использовал вот такой Table of content -- https://github.com/caseyamcl/toc

Надіслати
Поділитися на інших сайтах

09.03.2023 в 16:03, chukcha сказал:

$xQueryResults = new DOMXPath($domDocument);

Т.е. ??? Ноги откуда растут?

В черный ящик не заглядывал. Может просто правильно приготовлено. Главное, что нормально работает

Надіслати
Поділитися на інших сайтах

09.03.2023 в 20:22, buslikdrev сказал:

Подробнее распишите, что нужно сделать.

 

Получить массив H2 заголовков 

Надіслати
Поділитися на інших сайтах

09.03.2023 в 22:53, zomo сказал:

 

Получить массив H2 заголовков 

		if (preg_match_all('/<h2.*?>(.[^<]*?)<\/h2>/iS', $this->output, $matches)) {
			if (!empty($matches[0])) {
				var_dump($matches);
			}
		}

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.