Помогите обрезать url до слеша ?

Discussion in 'PHP' started by Adio, 13 Feb 2010.

  1. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    вообщем есть url типа -

    http://www.site.com/,6

    Как мне обрезать его до слеша ?

    Т.е мне нужно что бы весь текстовый файл с такими типа урл резало до слеша. Буду болагодарен за помощь
     
  2. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    strrchr() поиск последнего вхождения в строке
     
  3. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    или лучше позицию находишь последнего вхождения / этой функцией strrpos
     
  4. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    не шарю...
     
  5. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    кто поможет тому +
     
  6. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    (http://[a-zA-Z-0-9\.\-]+/|https://[a-zA-Z-0-9\.\-]+/)
     
  7. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    parse_url()
     
    1 person likes this.
  8. ettee

    ettee Administrator
    Staff Member

    Joined:
    12 Oct 2006
    Messages:
    466
    Likes Received:
    1,036
    Reputations:
    1,065
    awk -F "/" '{print $1 "//" $3 "/"}' file.txt
     
    _________________________
    1 person likes this.
  9. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Code:
    perl -ple 's~[^/]+$~~' file.txt
     
  10. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    О да.. мне это не очем не говорит. Могу запустить скрипт на денвере не более.
     
  11. Deathdreams

    Deathdreams Elder - Старейшина

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    ТС, копай в сторону DLE, у этой CMS есть функция clear_url (или clean_url), нету движка под рукой.

    Функция очищает ссылку до слеша (включая очистку порта)
     
  12. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    о да.. я думал там какой нибудь просто скрипт на пхп сможет сделать но я не силен в нем могу запускать только.
     
  13. Failure

    Failure Elder - Старейшина

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    http://php.net/manual/en/function.parse-url.php
    изобретаем велосипед?
     
  14. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Если нужно удалить всё после последнего слеша, то parse_url не поможет. А скорее всего это CSV и надо удалять запятую и всё после неё.
     
  15. Dark_cracker

    Dark_cracker Member

    Joined:
    29 May 2009
    Messages:
    73
    Likes Received:
    8
    Reputations:
    1
    Code:
    <?php
    $a=file('file.txt');
    $a2 = count($a);
    for ($i=0; $i <= $a2; $i++){ 
    $s = @parse_url($a[$i]);
    echo "{$s[host]}<br>";
    }
    ?>
    Каждая ссылка с новой строки в файле, получиться из http://site.ru/asd site.ru ))
     
    #15 Dark_cracker, 13 Feb 2010
    Last edited: 13 Feb 2010
  16. suser

    suser Member

    Joined:
    30 Dec 2009
    Messages:
    35
    Likes Received:
    5
    Reputations:
    0
    PHP:
    <?php
    //
    $text file('123.txt');
    foreach(
    $text as $m)
    {
        
    $m explode('/'$m);
        
    $m 'http://'.$m[2];
        echo 
    $m."<br>"// к примеру из http://forum.antichat.ru/newreply.php станет http://forum.antichat.ru
    }
    ?>
    с тебя + :)
     
    #16 suser, 13 Feb 2010
    Last edited: 13 Feb 2010
    1 person likes this.
  17. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    ussssssss))

    PHP:
    <?php
    $host 
    "http://site.ru/123.php";
    preg_match("/^(http:\/\/?[^\/]+)/i",$host,$a);
    print_r ($a[1]);
    ?>
    с тебя +++
     
  18. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18

    Вот это работает только пропускает некоторые урл к примеру если на конце нет слеша а просто

    http://www.site.com,1

    то оно так и остаеться.

    Доделаете ставлю плюсы всем кто помогал