Реклама на сайте Advertise with us

Нужен простенький скрипт

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:
+ + +


С нами с 12.07.03
Сообщения: 99
Рейтинг: 5

Ссылка на сообщениеДобавлено: 26/03/08 в 13:47       Ответить с цитатойцитата 

Предположим, имеется некий список (TXT-файл) с "корявыми" урлами типа:

http://site.ru/page_1.html>[01]</a>
http://site.ru/page_2.html>[02]</a>111111
http://site.ru/page_3.html>[03]</a>22222222
http://site.ru/page_4.html>[04]</a>3333333
http://site.ru/page_5.html>[05]</a>444444
http://site.ru/page_6.html>[06]</a>55555555
http://site.ru/page_7.html>[07]</a>66666666
http://site.ru/page_8.html>[08]</a>77777
http://site.ru/page_9.html>[09]</a>88888
http://site.ru/page_10.html>[10]</a>99999

Нужно, чтобы скрит удалял из такого списка весь мусор, содержащийся в строках после ".html". То есть, чтобы в результате получалось так:

http://site.ru/page_1.html
http://site.ru/page_2.html
http://site.ru/page_3.html
http://site.ru/page_4.html
http://site.ru/page_5.html
http://site.ru/page_6.html
http://site.ru/page_7.html
http://site.ru/page_8.html
http://site.ru/page_9.html
http://site.ru/page_10.html

Помогите плиз, если не трудно. Заранее спасибо.

0
 



С нами с 30.05.03
Сообщения: 2173
Рейтинг: 1141

Ссылка на сообщениеДобавлено: 26/03/08 в 14:40       Ответить с цитатойцитата 

самый простой способ: открываешь этот тхт файл в экселе, делаешь знак & разделителем, и у тебя урлы будут в первом столбце

0
 



С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144

Ссылка на сообщениеДобавлено: 26/03/08 в 14:55       Ответить с цитатойцитата 

cut -d\& -f1 file_in.txt > file_out.txt

Моя подпись.

0
 
+ + +


С нами с 12.07.03
Сообщения: 99
Рейтинг: 5

Ссылка на сообщениеДобавлено: 26/03/08 в 16:32       Ответить с цитатойцитата 

Цитата:
cut -d\& -f1 file_in.txt > file_out.txt


И что это означает? Куда и как это "втыкать"? Я же не программист icon_sad.gif

0
 

легионер МММ

С нами с 18.04.03
Сообщения: 6239
Рейтинг: 786

Ссылка на сообщениеДобавлено: 26/03/08 в 16:43       Ответить с цитатойцитата 

Код:
<?
$path_to_in_file = 'in.txt';
$path_to_out_file = 'out.txt';

$arr_list = file($path_to_in_file);
$w = fopen($path_to_out_file,"w");
foreach($arr_list as $link)
{
    $arr_res = parse_url($link);
    fwrite($w,'http://'.$arr_res['host'].$arr_res['path']."\n");
}
fclose($w);
?>

Гiмн Хазарiи

0
 
+ + +


С нами с 12.07.03
Сообщения: 99
Рейтинг: 5

Ссылка на сообщениеДобавлено: 26/03/08 в 17:46       Ответить с цитатойцитата 

alt писал:
Код:
<?
$path_to_in_file = 'in.txt';
$path_to_out_file = 'out.txt';

$arr_list = file($path_to_in_file);
$w = fopen($path_to_out_file,"w");
foreach($arr_list as $link)
{
    $arr_res = parse_url($link);
    fwrite($w,'http://'.$arr_res['host'].$arr_res['path']."\n");
}
fclose($w);
?>


Что-то я не понял... Скрипт просто в конце всех ссылок дописывает двойное подчеркивание "__".

То есть, если было:
http://site.ru/page_1.html&gt;[1]&lt;/a&gt;

то делается:
http://site.ru/page_1.html&gt;[1]&lt;/a&gt;__

А нужно, чтобы делал:
http://site.ru/page_1.html

0
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 26/03/08 в 18:03       Ответить с цитатойцитата 

Немного переделал вариант alt: (parse_url не верно работает из-за того, что нет знака вопроса):

Код:
<?php

$path_to_in_file = 'in.txt';
$path_to_out_file = 'out.txt';

$arr_list = file($path_to_in_file);
$w = fopen($path_to_out_file,"w");
foreach($arr_list as $link)
{
   $link = substr($link, 0, strpos($link, "&"));
    fwrite($w, $link."\r\n");
}
fclose($w);

?>

0
 
+ + +


С нами с 12.07.03
Сообщения: 99
Рейтинг: 5

Ссылка на сообщениеДобавлено: 26/03/08 в 18:25       Ответить с цитатойцитата 

ADSenex писал:
Немного переделал вариант alt: (parse_url не верно работает из-за того, что нет знака вопроса):

Код:
<?php

$path_to_in_file = 'in.txt';
$path_to_out_file = 'out.txt';

$arr_list = file($path_to_in_file);
$w = fopen($path_to_out_file,"w");
foreach($arr_list as $link)
{
   $link = substr($link, 0, strpos($link, "&"));
    fwrite($w, $link."\r\n");
}
fclose($w);

?>


Этот вариант скрипта работает почти правильно. К сожалению, он удаляет из списка урлы, если они НЕ содержат в себе "мусора" (в файле 'in.txt'). Типа:

http://site.ru
http://site.ru/
http://site.ru/page.html

Нужно, чтобы такие "чистые" урлы в списке оставались, а не вылетали.

0
 

легионер МММ

С нами с 18.04.03
Сообщения: 6239
Рейтинг: 786

Ссылка на сообщениеДобавлено: 26/03/08 в 19:02       Ответить с цитатойцитата 

violar писал:
Этот вариант скрипта работает почти правильно. К сожалению, он удаляет из списка урлы, если они НЕ содержат в себе "мусора" (в файле 'in.txt'). Типа:

http://site.ru
http://site.ru/
http://site.ru/page.html

Нужно, чтобы такие "чистые" урлы в списке оставались, а не вылетали.



=))
делаешь так:

Код:
<?php

$path_to_in_file = 'in.txt';
$path_to_out_file = 'out.txt';

$arr_list = file($path_to_in_file);
$w = fopen($path_to_out_file,"w");
foreach($arr_list as $link)
{
   if(eregi("&",$link)) $link = substr($link, 0, strpos($link, "&"));
    fwrite($w, $link."\r\n");
}
fclose($w);

?>

Гiмн Хазарiи

0
 

127.0.0.1

С нами с 26.04.06
Сообщения: 1092
Рейтинг: 557

Ссылка на сообщениеДобавлено: 26/03/08 в 23:34       Ответить с цитатойцитата 

все намного проще:

Код:

<?
$in="1.txt";
$out="2.txt";

$z=fopen($out,"w");
foreach(file($in) as $str) {
fputs($z,substr($str,0,strpos($str,".html")+5)."\n");
}
fclose($z);
?>

май пен рай

0
 



С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144

Ссылка на сообщениеДобавлено: 27/03/08 в 00:07       Ответить с цитатойцитата 

violar писал:
И что это означает? Куда и как это "втыкать"?


Это командная строка unix. Специально придуманная фишка для "непрограммистов". icon_smile.gif Без всяких скриптов в один "пук" решается твоя задача. file_in.txt - текстовый файл с исходными урлами. file_out.txt - текстовый файл с результатом.

Цитата:
Я же не программист icon_sad.gif


Ну мне как-то отсюда не видно, сорри icon_smile.gif Ну раз уж не программист, то занимайся "скриптами" icon_smile.gif

Моя подпись.

0
 

♥♥♥

С нами с 28.08.04
Сообщения: 7098
Рейтинг: 5671


Передовик Master-X (01.08.2007) Передовик Master-X (16.08.2007)
Ссылка на сообщениеДобавлено: 27/03/08 в 00:47       Ответить с цитатойцитата 

нотепад++
там замена с регэкспами есть
очень быстрый вариант

0
 

легионер МММ

С нами с 18.04.03
Сообщения: 6239
Рейтинг: 786

Ссылка на сообщениеДобавлено: 27/03/08 в 04:10       Ответить с цитатойцитата 

localhost писал:
все намного проще:



Нет, ты не прав, все намного проще
=)))

Код:

<?
$in="1.txt";
$out="2.txt";
$z=fopen($out,"w");
foreach(file($in) as $str) fputs($z,substr($str,0,strpos($str,".html")+5)."\n");
fclose($z);
?>

Гiмн Хазарiи

0
 
+ + +


С нами с 12.07.03
Сообщения: 99
Рейтинг: 5

Ссылка на сообщениеДобавлено: 27/03/08 в 21:40       Ответить с цитатойцитата 

alt писал:


Код:
<?php

$path_to_in_file = 'in.txt';
$path_to_out_file = 'out.txt';

$arr_list = file($path_to_in_file);
$w = fopen($path_to_out_file,"w");
foreach($arr_list as $link)
{
   if(eregi("&",$link)) $link = substr($link, 0, strpos($link, "&"));
    fwrite($w, $link."\r\n");
}
fclose($w);

?>



Спасибо! Это именно то, что мне нужно...

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »