Уроки 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'));
?>

 

Замініть в останньому рядку домен на потрібний вам.

 

Recent Posts

Ультрафільтрація: сучасне рішення для очищення питної води

Чиста питна вода – це запорука здоров’я і гарного самопочуття. Водопровідна вода, навіть після централізованої…

2 дні ago

Онлайн-навчання та традиційна освіта: як знайти свій формат

Освіта вже давно перестала бути лише про лекції в аудиторіях і товсті конспекти. Зараз освітня…

4 тижні ago

Афілейт маркетинг навчання: Від старту до успіху в цифровому бізнесі

У сучасному цифровому світі афілейт маркетинг став одним із найбільш популярних способів монетизації трафіку та…

4 тижні ago

Джек Лондон

Замість того, щоб стирати сльози з обличчя, стирайте з життя людей, які змусили вас плакати…

4 тижні ago

Використання конструкторів WordPress — основні їх переваги та недоліки

До основних переваг двигуна WordPress можна віднести величезну кількість безкоштовних і преміальних тем (шаблонів) та…

4 тижні ago

Чи можлива анонімність, конфіденційність чи приватність в Інтернеті?

Сьогоднішній огляд присвячений людям, для яких важливе питання конфіденційності в Інтернеті, та хто цінує свої…

1 місяць ago