Уроки 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')); ?>
Замените в последней строке домен на нужный вам.
Последние посты
Авраам Линкольн
Мы не поможем людям, делая за них то, что они могли бы сделать сами Авраам… Читать далее
Как хранить кофе, чтобы он не терял вкус и аромат
Вкус приготовленного напитка зависит не только от сорта кофе, способа и степени прожарки, помола зерен,… Читать далее
Габриэль Гарсиа Маркес
Возраст — это не то, сколько тебе лет, а то, — как ты их чувствуешь… Читать далее
Краткое описание лицензий с открытым исходным кодом
Если вы создаете программное обеспечение, которым хотите поделиться, или используете программный продукт, который хотите модифицировать,… Читать далее
Нил Гейман
Люди думают, что будут счастливы, если переедут в другое место, а потом оказывается: куда бы… Читать далее
Уроки JavaScript — как начать работать с объектами
Объекты являются одной из самых важных и мощных функций JavaScript, и во многих встроенных функциях… Читать далее