Як знайти всі посилання на сторінці через php

Відео: Як знайти всі витікаючі посилання з сайту

Як знайти всі посилання на сторінці через PHP

Відео: Основи HTML. Як зробити гіпер-посилання на сторінці

Іноді перед програмістом стоїть не найпростіше завдання: знайти всі посилання на сторінці за допомогою PHP. Де це може бути потрібно? Так, багато де, наприклад, при виведенні одного сайту на іншому. Для цього потрібно витягнути з нього всі посилання і замінити на інші. також пошук посилань використовується при створенні ЧПУ-посилань, адже потрібно витягнути все старі посилання і поставити замість них нові. Загалом, завдань можна придумати багато, але ключове питання всього один: "Як знайти всі посилання на сторінці через PHP?". Про це я і написав цю статтю.




Хто має хоча б маленький досвід, тут же скаже, що треба написати регулярний вираз і буде абсолютно правий. Дійсно, простими строковими функціями це завдання буде вкрай важко вирішити. Адже кожен пише по-різному, хтось прописними бувамі, хтось малими, хтось ставить пробіл після, наприклад, знака "=", А хтось ні. У кого-то подвійні лапки, а у кого-то одинарні. Загалом, різновидів дуже багато. І єдина можливість передбачити максимум за все - це регулярний вираз.

Відео: Adobe Muse уроки | 37. Переклад сайту з HTML в PHP

lt ;?php
/ * $ Html - якийсь html-код якоїсь сторінки, n - це перехід на новий рядок (верстальники іноді це роблять) * /
$ html
="Текст посилання і знову посилання кінець "-
/ * Викликаємо функцію, яка все збіги поміщає в масив $ matches * /
preg_match_all
("/ Lt; [Aa] [ s] {1} [^ gt;] * [Hh] [Rr] [Ee] [Ff] [^ =] * = [ `" s] * ([^ "` gt; s #] +) [^ gt;] * gt; / ", $ html, $ matches) -
$ urls
= $ matches[1] -// Беремо те місце, де сама посилання (завдяки групують дужках в регулярному виразі)
/ * Виводимо всі посилання * /
for($ i =0- $ i lt; count($ urls) - $ i++)
echo $ urls
[$ i]."
"
-
?gt;



Найскладніша частина - це регулярний вираз, заради його публікації дана стаття і створювалася, щоб новачкам не довелося писати щось подібне. Хоча це і є дуже корисним, але відразу новачок таке ніколи не напише, а для вирішення завдання це потрібно. Звичайно, дане регулярне вираз з пошуку посилань недосконале (навряд чи можна написати ідеальне), але, думаю, що 99% посилань будуть знайдені. А якщо код писав адекватний верстальник, то все 100%. А як працювати зі знайденими посиланнями далі, це вже окрема історія.

Поділися в соціальних мережах:

Схожі
Заробіток на продажі посиланьЗаробіток на продажі посилань
Як створити генератор трафіку?Як створити генератор трафіку?
Тип меню: зовнішнє посиланняТип меню: зовнішнє посилання
Як задати колір відвіданих посиланьЯк задати колір відвіданих посилань
Як скопіювати формулу в excel без зміни посилань.Як скопіювати формулу в excel без зміни посилань.
Realtek hd audio driver 2.17Realtek hd audio driver 2.17
Відносні і абсолютні посилання в excel.Відносні і абсолютні посилання в excel.
Символічна посилання за допомогою mklink на windows 10Символічна посилання за допомогою mklink на windows 10
Поміняти посилання на інші листи в формулах excel.Поміняти посилання на інші листи в формулах excel.
Пошук в excel.Пошук в excel.
» » Як знайти всі посилання на сторінці через php