str_replace и регулярка

Discussion in 'PHP' started by The46Doctor, 1 Jun 2012.

  1. The46Doctor

    The46Doctor New Member

    Joined:
    31 May 2012
    Messages:
    44
    Likes Received:
    0
    Reputations:
    0
    собственно нужно частично заменять имеющиеся ссылки
    $str_href = str_replace ('<a href="/show/[0-9][0-9][0-9]/', '<a href="http://anime-no.ru/search?searchword=', $str_body);
    Но почему то вот такая регулярка не срабатывает. Но если ее использую вот так вот
    preg_match_all('#<a href="/show/[0-9][0-9][0-9]/(.*)">#sU', $str_body, $name);
    то все работает.
    Почему так происходит?
     
  2. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    937
    Likes Received:
    355
    Reputations:
    58
    Потому что не знаем, что делает эта функция http://www.php.su/functions/?str_replace
    http://www.php.su/functions/?preg-replace
     
  3. The46Doctor

    The46Doctor New Member

    Joined:
    31 May 2012
    Messages:
    44
    Likes Received:
    0
    Reputations:
    0
    Благодарю. О существовании preg_replace даже не знал. Так как с регулярками ни когда не работал толком.
     
  4. CE/l/lEP

    CE/l/lEP New Member

    Joined:
    13 Dec 2011
    Messages:
    10
    Likes Received:
    3
    Reputations:
    0
    '#<a href="/show/\d{3,3}/#is'

    Так как бы более человечески выглядит =)