Коварная война россии против Украины. Ориентировочные потери врага
(по состоянию на 22.04.2024)
460260
солдат
348
самолетов
325
вертолетов
7236
танков
13904
ББМ
11736
артиллерия
768
ПВО
1046
РСЗО
15812
машин
26
корабли и катера
Уроки PHP – полезные сниппеты
Опубликовано Обновлено: 27.05.2019

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

 

Замените в последней строке домен на нужный вам.

 

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *