четверг, 28 декабря 2017 г.

Проверка наличия viewport

<?php
$urls = fopen ("file.txt", "r");
while (!feof ($urls))
{
$url = trim (fgets ($urls));
$content = file_get_contents ($url);
if (strpos($content, 'viewport') === false) // именно через жесткое сравнение
{
file_put_contents ("titles.txt", $url." ".$title [1]."\r\n", FILE_APPEND);
}
}
fclose ($urls);
?>

для массовго сбора Title сайтов PHP

<?php
    $urls 
fopen ("urls.txt""r");
    while (!
feof ($urls))
    {
        
$url trim (fgets ($urls));

        
$c curl_init ();
            
curl_setopt ($cCURLOPT_HEADER0);
            
curl_setopt ($cCURLOPT_RETURNTRANSFER1);
            
curl_setopt ($cCURLOPT_FOLLOWLOCATION1);
            
curl_setopt ($cCURLOPT_URL$url);
        
$content curl_exec ($c);
        
curl_close ($c);

        if (
preg_match("!<title>(.*?)<\/title>!si"$content$title))
        {
            
file_put_contents ("titles.txt"$url."    ".$title ***91;1***93;."\r\n"FILE_APPEND);
        }
    }
    
fclose ($urls); ?>

Для массовго сбора Title сайтов

<?php
 $urls = fopen ("file.txt", "r");
 while (!feof ($urls))
 {
  $url = trim (fgets ($urls));
  $content = file_get_contents ($url);
  if (preg_match("!<title>(.*?)<\/title>!si", $content, $title))
  {
   file_put_contents ("titles.txt", $url." ".$title [1]."\r\n", FILE_APPEND);
  }
 }
 fclose ($urls);
?>

Поиск текста в исходном коде страницы средствами PHP

<?
 $file 
file_get_contents('http://domain.ru/1.html');
 if(
preg_match("/e4fc/",$file)){
  echo 
"Вхождение найдено";
 }
 else{
  echo 
"Вхождение не найдено";
 } 
?>

среда, 27 декабря 2017 г.

Как проверить наличие страницы сайта

<?php 
$site    
= array(); $site[]    = '/Users/dan/Documents/php_manual/function.fopen.html'; $site[]    = 'http://phpclub.ru/talk/showthread.php?s=&threadid=68408&rand=0'; $site[]    = 'http://wikipedia.sourceforge.net/'; $site[]    = 'http://what.a.site.is.this/?'; 


foreach (
$site as $url) 
{ 
    if( 
fopen($url"r") )  
        echo 
"<a href='$url'>$url</a><br/>"; 
} 
?> 

p.s. if( @fopen($url, "r") ) 

Как записать в массив значения из текстового файла на PHP

Решение найдено:

<?php

$data = file_get_contents("base.txt");
$search = explode("\r\n", $data);

if (in_array("google.com", $search)) {
    echo "есть";
}

else {
    echo "нету";
}

?>

понедельник, 25 декабря 2017 г.

Как из php кода открыть новый Url

Цитата:
в файл php получаю данные, обрабатываю и по результатам проверки нужно открыть либо 1-й url либо 2-й.

Ворос говорит о том, что ты смутно разбираешься в том, как работает сервер. Положим, пользователь набирет в адресной строке браузера некий URL http://somewhere.com/index.html. Браузер посылает запрос серверу (Apache), а сервер, найдя у себя этот документ (файл index.html), отдает его браузеру. Если запрашиваемый файл имеет расширение php, сервер отдает его на выполнение PHP. PHP выполняет этот скрипт и результат работы (сгенерированный html) отдает обратно серверу, а тот в свою очередь клиенту (браузеру).
Что означает загадочная фраза "открыть либо 1-й url либо 2-й" - остается только догадываться. Открыть URL может пользователь, либо набрав его в адресной строке браузера, либо щелкнув по ссылке.
Надо перенаправить пользователя на другой адрес?
PHP: 
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if ( $condition )
  4. {
  5.     header( "Location: http://mail.ru/" );
  6. }else
  7. {
  8.     header( "Location: http://yandex.ru/" );
  9. }
  10. ?>
  11.  

Или сгенерировать ссылки для перехода на разные адреса?
PHP: 
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if ( $condition )
  4. {
  5.     echo "<a href='http://mail.ru/'>MAIL.RU</a>";
  6. }else
  7. {
  8.     echo "<a href='http://yandex.ru/'>YANDEX.RU</a>";
  9. }
  10. ?>
  11.  

Цитата:

как открыть url в этом же окне и в новом?

PHP: 
скопировать код в буфер обмена
  1.  
  2. <a href="http://yandex.ru/">Ссылка будет открыта в том же окне</a>
  3. <a href="http://yandex.ru/" target="_blank">Ссылка будет открыта в новом окне</a>
  4.  

воскресенье, 24 декабря 2017 г.

выведет номер строки и саму строку, в которой встречается подстрока "радость"

  1. <?php
  2.  
  3.     $arr = file('text.txt');
  4.    
  5.     foreach ( $arr as $k=>$v )
  6.     {
  7.         if ( strpos($v,'радость',0) !==false )
  8.         {
  9.             echo $k.'-'.$v;
  10.         }
  11.     }
  12.    
  13. ?>
  14.  
выведет номер строки и саму строку, в которой встречается подстрока "радость"

Полезные сайты

http://www.net-f.ru/item/php/
https://php.ru/forum

Как узнать номер определенной строки в файле и заменить/удалить её? PHP

Итак, что мы делаем.
У нас есть файл, в нем несколько строк, надо 

найти определенную строку (узнать ее номер)

 и удалить ее, либо заменить
<?php
// ищем строку
$str="подробнее"; 
$fopen=@file("file.txt");
foreach($fopen as $key=>$value)
{
  // $key узнает номер строки
  if(substr_count($value,$str))
  {
    print $key; // выводим номер строки
  }
}
?>
Узанали номер строки, теперь удалим ее
<?php
// наш файл
$fopen=@file("file.txt");
$what="вот эту строчку ищем";
foreach($fopen as $key=>$value)
{
  if(substr_count($value,$what))
  {
    // если нашел, удаляем
    array_splice($fopen, $key, 1);
  }
}
// переписал файл по новой
$f=fopen("file.txt", "w");
for($i=0;$i<count($fopen);$i++)
{
  fwrite($f,$fopen[$i]);
}
fclose($f);
?>
Теперь находим и меняем строку. В принципе код мало чем отличается
<?php
// искомая строка
$for_edit="подробнее";
// на эту меняем
$what="краткоrn";
$fopen=@file("21.txt");
foreach($fopen as $key=>$value)
{
  if(substr_count($value,$for_edit))
  {
    // если нашли
    array_splice($fopen, $key, 1, $what); // заменили
  }
  $f=fopen("21.txt", "w"); // переписали файл
  for($i=0;$i<count($fopen);$i++)
  {
    fwrite($f,$fopen[$i]);
  }
  fclose($f);
}
?>

Поиск по ключевому слову используя if (strpos

Поиск по ключевому слову используя if (strpos
Пример:


if (strpos($text, 'слово') !== false) // именно через жесткое сравнение
{
    echo 'Найдено';
} else {
    echo 'Не найдено';
}

Как парсить urls сайтов на примере file_get_contents

Вот отличный пример как парсить урлы сайтов и доставать из них всё,что нам нужно в качестве примера выступает парсинг title and descriptions сайтов.Естественно по аналогии можно использовать и других случаях.
Code:
<?php
ob_implicit_flush();
$urls = file("file.txt");
$file_titles = fopen("titles.txt", "a");
$file_descs = fopen("descriptions.txt", "a");
$pattern1 = "/<title>(.*?)<\/title>/is";
$pattern2 = "/<meta name=(\"|')description(\"|') content=(\"|')(.*?)(\"|')(.*?)>/is";
foreach ($urls as $one_url)
{
    $html = file_get_contents(trim($one_url));
    preg_match($pattern1, $html, $matches);
    fwrite($file_titles, $matches[1]."\n");
    preg_match($pattern2, $html, $matches);
    fwrite($file_descs, $matches[4]."\n");
    echo $one_url . " done.<br />";
}
fclose($file_titles);
fclose($file_descs);
?>