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