Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.8640
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 03.10.2009, 08:59   #1
MarafoN!
Senior Member
 
Регистрация: 28.05.2007
Сообщений: 1,920
Бабло: $344113
По умолчанию Помогите с простеньким скриптом. :)

Есть файл в котором лежат урлы, по одному на строчку.
Все урлы такго вида
http://site.com/ajkhkj-bfvkjhdfvjk-k...key3-keyN.html

Тоесть после второго "-" начинается кей.
Нужно сделать, чтобы все урлы приняли следующий вид.
<a href="http://site.com/ajkhkj-bfvkjhdfvjk-key1-key2-key3-keyN.html"> Key1 key2 key3 keyN </a>
MarafoN! на форуме  
Старый 03.10.2009, 09:47   #2
Dux
Senior Member
 
Аватар для Dux
 
Регистрация: 29.09.2009
Сообщений: 412
Бабло: $93270
По умолчанию

ты бы уточнил, на чём нужен скрипт
Dux вне форума  
Старый 03.10.2009, 09:53   #3
MarafoN!
Senior Member
 
Регистрация: 28.05.2007
Сообщений: 1,920
Бабло: $344113
ТС -->
автор темы ТС По умолчанию

да хоть на чем)
желательно на пхп
MarafoN! на форуме  
Старый 03.10.2009, 10:50   #4
qbec
member.php?u=6333
 
Аватар для qbec
 
Регистрация: 07.04.2009
Сообщений: 68
Бабло: $7040
По умолчанию

PHP код:
<pre><?php
$urlm
=file('fail_s_urlami.txt');
foreach(
$urlm as $znach)
{    
    
$key=explode('-',str_replace('.html','',trim($znach));
    
$endm[]='<a href="'.trim($znach).'">'.implode(' ',array_slice($key,2)).'</a>';
}
    
print_r ($endm);
    
$fp fopen ('fail_pravilnyi.txt'"w+");
    
fwrite ($fpimplode("\r\n",$endm));
    
fclose ($fp);
?>

Последний раз редактировалось qbec; 03.10.2009 в 12:13.
qbec вне форума  
Старый 03.10.2009, 11:21   #5
MarafoN!
Senior Member
 
Регистрация: 28.05.2007
Сообщений: 1,920
Бабло: $344113
ТС -->
автор темы ТС По умолчанию

Ага, спасибо, все работает.
Только одна не доработка небольшая.
В файл результат почемуто записывается вот так
<a href="http://site.com/tut-url.html
"> анкор </a>
Тоесть "> анкор </a> начинается с новой строки
MarafoN! на форуме  
Старый 03.10.2009, 11:38   #6
qbec
member.php?u=6333
 
Аватар для qbec
 
Регистрация: 07.04.2009
Сообщений: 68
Бабло: $7040
По умолчанию

$endm[]='<a href="'.$znach.'">'.implode(' ',array_slice($key,2)).'</a>';
измени на
$endm[]='<a href="'.trim($znach).'">'.implode(' ',array_slice($key,2)).'</a>';
qbec вне форума  
Старый 03.10.2009, 11:44   #7
MarafoN!
Senior Member
 
Регистрация: 28.05.2007
Сообщений: 1,920
Бабло: $344113
ТС -->
автор темы ТС По умолчанию

Во, теперь то что нужно.
MarafoN! на форуме  
Старый 03.10.2009, 15:24   #8
Dux
Senior Member
 
Аватар для Dux
 
Регистрация: 29.09.2009
Сообщений: 412
Бабло: $93270
По умолчанию

а случайно не попадется домен, типа my-site.com или super-puper-site?
Dux вне форума  
Старый 03.10.2009, 22:58   #9
Rombl4
Ромыч
 
Аватар для Rombl4
 
Регистрация: 16.07.2008
Сообщений: 1,302
Бабло: $154950
По умолчанию

Цитата:
Есть файл в котором лежат урлы, по одному на строчку.
Все урлы такго вида
http://site.com/ajkhkj-bfvkjhdfvjk-k...key3-keyN.html

Тоесть после второго "-" начинается кей.
Нужно сделать, чтобы все урлы приняли следующий вид.
<a href="http://site.com/ajkhkj-bfvkjhdfvjk-key1-key2-key3-keyN.html"> Key1 key2 key3 keyN </a>
Нехер было делать, решил потренироваться составлять регулярки.

Можно в notepad++ ее использовать. Жмем ctrl+H, в первой строке пишем регулярку для _http://site.com/ajkhkj-bfvkjhdfvjk-key1-key2-key3-keyN.html:

Код:
(http://[a-z0-9-].*)/([a-z0-9]*)-([a-z0-9]*)-([a-z0-9]*)-([a-z0-9]*)-([a-z0-9]*)-([a-z0-9]*).html
Здесь символы в каждой паре скобок отвечают за каждый кусок урла.

Во второй строке пишем на что заменять:
Код:
<a href="\1/\2-\3-\4-\5-\6-\7.html">\4 \5 \6 \7<\a>
Здесь цифра отвечает за каждый кусок урла.

Жмем "заменить все" и получаем на выходе нужные урлы с анкорами. Только нужно не забыть поставить галочку "регулярное выражение" в notepad++ чтобы все работало.
Rombl4 вне форума