Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Нужен простенький скрипт
Новая тема
Ответить
цитата
26/03/08 в 13:47
violar
Предположим, имеется некий список (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
Помогите плиз, если не трудно. Заранее спасибо.
цитата
26/03/08 в 14:40
sotiris
самый простой способ: открываешь этот тхт файл в экселе, делаешь знак & разделителем, и у тебя урлы будут в первом столбце
цитата
26/03/08 в 14:55
lega_cobra
cut -d\& -f1 file_in.txt > file_out.txt
цитата
26/03/08 в 16:32
violar
Цитата:
cut -d\& -f1 file_in.txt > file_out.txt
И что это означает? Куда и как это "втыкать"? Я же не программист
цитата
26/03/08 в 16:43
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);
?>
цитата
26/03/08 в 17:46
violar
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>
[1]</a>
то делается:
http://site.ru/page_1.html>
[1]</a>__
А нужно, чтобы делал:
http://site.ru/page_1.html
цитата
26/03/08 в 18:03
Corex
Немного переделал вариант
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);
?>
цитата
26/03/08 в 18:25
violar
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
Нужно, чтобы такие "чистые" урлы в списке оставались, а не вылетали.
цитата
26/03/08 в 19:02
alt
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);
?>
цитата
26/03/08 в 23:34
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);
?>
цитата
27/03/08 в 00:07
lega_cobra
violar писал:
И что это означает? Куда и как это "втыкать"?
Это командная строка unix. Специально придуманная фишка для "непрограммистов".
Без всяких скриптов в один "пук" решается твоя задача. file_in.txt - текстовый файл с исходными урлами. file_out.txt - текстовый файл с результатом.
Цитата:
Я же не программист
Ну мне как-то отсюда не видно, сорри
Ну раз уж не программист, то занимайся "скриптами"
цитата
27/03/08 в 00:47
Kn
нотепад++
там замена с регэкспами есть
очень быстрый вариант
цитата
27/03/08 в 04:10
alt
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);
?>
цитата
27/03/08 в 21:40
violar
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);
?>
Спасибо! Это именно то, что мне нужно...
Новая тема
Ответить
Эта страница в полной версии