Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нужно очистить документ
 
 автор: dlinnuke   (15.11.2007 в 02:09)   письмо автору
 
 

Нужно из документа (хотя бы строки), содержащего такие строки:
http://newsvm.com .11114.02.2007
http://yarmarka-ryazan.ru - . :
http://pk.awards-su.com
http://cmlt.ru .
http://altpress.ru
http://autobaraholka.ru/Autobaraholka.ru - 11114.02.2007
http://gazetayat.ru . . - .11114.02.2007

Сделать чистый список урлов.
Подскажите, если можете :)

   
 
 автор: cheops   (15.11.2007 в 02:30)   письмо автору
 
   для: dlinnuke   (15.11.2007 в 02:09)
 

Можно воспользоваться следующим решением
<?php
  $contents 
file_get_contents("get.txt");
  
$pattern "|http:[^\s]+|is";
  
preg_match_all($pattern$contents$out);
  echo 
"<pre>";
  
print_r($out[0]);
  echo 
"</pre>";
?>

   
 
 автор: dlinnuke   (15.11.2007 в 02:56)   письмо автору
 
   для: cheops   (15.11.2007 в 02:30)
 

Спасибо. Я в регулярных вообще не шарю, но нужно срочно сделать... :(

Разрезает нормально, но можно ли добиться ещё того, что в строках типа http://robinhood11.narod.ru/robinhood.htm

оставлять только http://robinhood11.narod.ru, т.е. до первого вхождения ru, com, net, biz, ua и т.д.?

   
 
 автор: exp   (15.11.2007 в 03:54)   письмо автору
 
   для: dlinnuke   (15.11.2007 в 02:56)
 

добавить к \s ещё /
<?
  $pattern 
"|http:[^\s\/]+|is";

   
 
 автор: dlinnuke   (15.11.2007 в 07:31)   письмо автору
 
   для: exp   (15.11.2007 в 03:54)
 

Странно, но так не работает :(

   
 
 автор: Faraon   (15.11.2007 в 09:40)   письмо автору
 
   для: dlinnuke   (15.11.2007 в 07:31)
 


<?php
  $contents 
file_get_contents("get.txt");
  
$pattern "|http://[^/]+|is";
  
preg_match_all($pattern$contents$out);
  echo 
"<pre>";
  
print_r($out[0]);
  echo 
"</pre>";
?>

   
 
 автор: kasmanaft   (15.11.2007 в 10:11)   письмо автору
 
   для: Faraon   (15.11.2007 в 09:40)
 

|http://[^/]+|is - так, наверное, вообще весь текст зохавает.
\s еще добавить надо: |http://[^/\s]+|i
А модификатор "s" можно убрать..

   
 
 автор: dlinnuke   (15.11.2007 в 20:29)   письмо автору
 
   для: kasmanaft   (15.11.2007 в 10:11)
 

Спасибо огромное!!
Мне очень помогла Ваша помощь. Век не забуду... :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования