Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вопрос по реализации идеи
Форумы портала PHP.SU » PHP » Регулярные выражения » Вопрос по реализации идеи

Страниц (1): [1]
 

1. zak3r - 15 Июля, 2015 - 13:53:30 - перейти к сообщению
Здравствуйте!
Имеется код:
PHP:
скопировать код в буфер обмена
  1. $file = strip_tags($file,"<img><br>");
  2. preg_match_all("/(http:\\/\\/)?([a-z_0-9-.]+\\.[a-z]{2,3}(([ \"'>\r\n\t])|(\\/([^ \"'>\r\n\t]*)?)))/",$file,$url);
  3.  
  4. $res = implode("\n",$url[0]);
  5.  
  6. preg_match_all("/^wl.+\.jpg$/",$res,$src);

1я регуля выдает информацию типа:
wl-15062517450500.jpg'
wl-15062517451500.jpg'
wl-15062517452500.jpg'
wl-15062517453500.jpg'
wl-15062517454500.jpg'
wl-15062517455500.jpg'
Но! Еще вылезло куча мусора и я решил за счет следующей выбрать в пределе от wl до .jpg включительно . Что - то пошло не так и я на распутье.Можно все это сделать в 1й но мне нужно постоянно менять начальный предел wl так как в разных галереях начинается по разному наименование картинки. Или создать 2ю в которой можно будет менять переменной входную точку. Помогите советом Однако!Или создать 2ю регулю! Сижу 2е сутки Огорчение
2. zak3r - 15 Июля, 2015 - 23:11:09 - перейти к сообщению
zak3r пишет:
Здравствуйте!
Имеется код:
PHP:
скопировать код в буфер обмена
  1. $file = strip_tags($file,"<img><br>");
  2. preg_match_all("/(http:\\/\\/)?([a-z_0-9-.]+\\.[a-z]{2,3}(([ \"'>\r\n\t])|(\\/([^ \"'>\r\n\t]*)?)))/",$file,$url);
  3.  
  4. $res = implode("\n",$url[0]);
  5.  
  6. preg_match_all("/^wl.+\.jpg$/",$res,$src);

1я регуля выдает информацию типа:
wl-15062517450500.jpg'
wl-15062517451500.jpg'
wl-15062517452500.jpg'
wl-15062517453500.jpg'
wl-15062517454500.jpg'
wl-15062517455500.jpg'
Но! Еще вылезло куча мусора и я решил за счет следующей выбрать в пределе от wl до .jpg включительно . Что - то пошло не так и я на распутье.Можно все это сделать в 1й но мне нужно постоянно менять начальный предел wl так как в разных галереях начинается по разному наименование картинки. Или создать 2ю в которой можно будет менять переменной входную точку. Помогите советом Однако!Или создать 2ю регулю! Сижу 2е сутки Огорчение


Данная проблема была решена следующим образом(полный скрипт):
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.  
  5. $ch = curl_init();
  6. curl_setopt ($ch , CURLOPT_URL , "http://site.ru");
  7. curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/3.6.0");
  8. curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 );
  9. $file = curl_exec($ch);
  10.  
  11. $file = strip_tags($file,"<img><br>");
  12. preg_match_all("/(http:\\/\\/)?([a-z_0-9-.]+\\.[a-z]{2,3}(([ \"'>\r\n\t])|(\\/([^ \"'>\r\n\t]*)?)))/",$file,$url);
  13. for($i=0; $i<count($url[0]); $i++){
  14.     if(isset($url[0][$i]) && preg_match("/^[a-z](.)*\.jpg/", $url[0][$i]))
  15. {
  16.         echo substr($url[0][$i], 0, -1);
  17.        
  18.  
  19.     }
  20. }
  21. ?>
  22.  

Если кому то понадобится в будущем! Подмигивание

 

Powered by ExBB FM 1.0 RC1