Помогите с регуляркой, тупею...

Тема в разделе "PHP", создана пользователем t0wer, 9 ноя 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    731
    Симпатии:
    421
    Допрогрограммировался уже до того, что голова нихрена не пашет.

    Помогите с регуляркой, если не сложно. Буду примного признателен. Суть такова:

    Нужно во всем тексте ($source) найти все URL
    например такого вида
    HTML:
    http://vip-file.com/download/5bcc94360036/file.rar.html
    и подобных...

    и заменить таким образом:
    HTML:
    [leech=http://vip-file.com/download/5bcc94360036/file.rar.html]_http://vip-file.com/download/5bcc94360036/file.rar.html[/leech]
    эту ссылку на файл (vip-file.com) я привел как пример. Но файлообменников много и других ссылок на файлы навалом.

    Вот хотелось бы с помощью preg_replace() все эти ссылки вырезать и приводить к [leech=...]...[/leech].
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    PHP:
    $source preg_replace('%http://([a-z0-9/.-]*)%ie'"replace('\\0')"$source);
    echo(
    $source);
    function 
    replace($url) {
        
    $lucky = array('vip-file''rapidshare''depositfiles');
        foreach (
    $lucky as $service) {
            if (
    false !== strpos($url$service)) {
                
    $string '[leech='.$url.']_'.$url.'[/leech]';
                return 
    $string;
            }
        }
        return 
    $url;
    }
    как-то так
     
    t0wer нравится это.
  3. afonya09

    afonya09

    Регистр.:
    31 янв 2009
    Сообщения:
    260
    Симпатии:
    18
    Разом все не выйдет будут херится ссылки которые не нужно трогать.
    Нужно сделать проверку сто ыайлообменик, создать что-то вроде массива адресов которые нужно обрабатывать.
    Я именно тпк делал.
     
  4. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    731
    Симпатии:
    421
    всем спасибо. проблему решил и способ более универсальный нашел.
    кому нужно - скину, велкам в личку...
     
Статус темы:
Закрыта.