Уроки 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

Как онлайн-мониторинг цен конкурентов помогает бизнесу в 2026 году

В 2026 году конкуренция в e-commerce стала жесткой как никогда. Клиенты выбирают не только по…

4 недели ago

5 аграрных ошибок, которые вредят урожаю, но о них редко говорят

Урожай чаще всего теряют не из-за аномальных изменений погоды, а из-за мелких решений, которые кажутся…

1 месяц ago

Музыкальные инструменты, история, классификация и роль в культуре человечества

Музыкальные инструменты сопровождают человечество на протяжении всей его истории. Они появились задолго до письменности и…

1 месяц ago

VR-продакшн, полный цикл создания виртуальной реальности

VR-продакшн сегодня представляет собой отдельное направление в цифровом производстве, объединяющее технологии виртуальной реальности, 3D-графику, программирование,…

1 месяц ago

Почему Bambu Lab – «iPhone среди 3D-принтеров»

Еще несколько лет назад 3D-печать считалась занятием для «избранных» – людей, готовых тратить время на…

2 месяца ago