Уроки PHP – корисні сніпети
При роботі з PHP дуже корисно мати певний набір готових функцій і фрагментів коду (сніпетів), які можуть заощадити багато часу. Сьогодні ми розглянемо цікаві фрагменти коду, які, ймовірно, вам знадобляться.
1) Знайти всі посилання на сторінці
Використовуючи DOM, ви можете легко отримати всі посилання з будь-якої веб-сторінки. Ось робочий практичний приклад:
<?php $html = file_get_contents('https://sebweo.com'); $dom = new DOMDocument(); @$dom->loadHTML($html); $xpath = new DOMXPath($dom); // отримання всіх вузлів DOM сторінки $hrefs = $xpath->evaluate("/html/body//a"); for ($i = 0; $i < $hrefs->length; $i++) { $href = $hrefs->item($i); $url = $href->getAttribute('href'); echo $url.'<br>'; } ?>
Замініть в першому рядку домен на потрібний вам.
2) Отримати всі ключові слова з веб-сторінки
За допомогою цього PHP сніпета ви можете легко витягти всі ключові слова (<meta name="keywords"/>
) з будь-якої веб-сторінки.
<?php $meta = get_meta_tags('https://sebweo.com'); $keywords = $meta['keywords']; $keywords = explode(',', $keywords ); // розділення ключових слів $keywords = array_map( 'trim', $keywords ); // їх обрізка $keywords = array_filter( $keywords ); // видалення порожніх значень print_r( $keywords ); ?>
Замініть в першому рядку домен на потрібний вам.
3) Whois-запит з використанням PHP
Якщо вам потрібно отримати інформацію whois для певного домену, ви можете використовувати PHP для цього. Наступна функція приймає ім’я домену в якості параметра, а потім відображає інформацію whois, яка пов’язана з цим доменом.
<?php function domainWhoisInfo($domain) { // отримання правильного запису доменного імені: $domain = strtolower(trim($domain)); $domain = preg_replace('/^https?:\/\//i', '', $domain); $domain = preg_replace('/^www\./i', '', $domain); $domain = explode('/', $domain); $domain = trim($domain[0]); // розділення доменної зони від доменного імені $_domain = explode('.', $domain); $lst = count($_domain)-1; $ext = $_domain[$lst]; // сервери з інформацією whois для деяких доменних зон $servers = array( "biz" => "whois.neulevel.biz", "com" => "whois.internic.net", "edu" => "whois.internic.net", "gov" => "whois.nic.gov", "info" => "whois.nic.info", "name" => "whois.nic.name", "net" => "whois.internic.net", "org" => "whois.pir.org", "ru" => "whois.ripn.net", "tv" => "whois.tv", "ua" => "whois.ua" "us" => "whois.nic.us", ); if (!isset($servers[$ext])){ die('Помилка: не знайдено жодного підходящого сервера!'); } $nic_server = $servers[$ext]; $output = ''; // підключення до whois сервера: if ($conn = fsockopen ($nic_server, 43)) { fputs($conn, $domain."\r\n"); while(!feof($conn)) { $output .= fgets($conn,128); } fclose($conn); } else { die('Помилка: не вдалося підключитися до ' . $nic_server . '!'); } return $output; } // виклик функції визначення whois print_r(domainWhoisInfo('sebweo.com')); ?>
Замініть в останньому рядку домен на потрібний вам.
Останні пости
Як вибрати ідеальний ноутбук: Повний гайд
Вибір ноутбука може бути складним завданням у світі, де ринок переповнений варіантами на будь-який смак… Читати далі
Томас Едісон
Наш великий недолік в тому, що ми занадто швидко опускаємо руки. Найбільш діючий метод досягти… Читати далі
Найкрасивіші та найбільш вражаючі мости з усього світу (ТОП-10)
Міст — це щось більше, ніж просто споруда, яка поєднує два береги. Для того, щоб… Читати далі
Соломон
Життя нас вчить, що свою пару ми пізнаємо, коли розлучаємося, своїх братів ми пізнаємо, коли… Читати далі
Річард Бах
Жодне бажання не дається тобі окремо від сили, що дозволяє його здійснити. Хоча, можливо, для… Читати далі