Хз, как обозвать

Discussion in 'PHP' started by DiffiT, 29 Jan 2011.

  1. DiffiT

    DiffiT Member

    Joined:
    15 Dec 2009
    Messages:
    195
    Likes Received:
    12
    Reputations:
    3
    Здравствуйте. Интересует такая весчь:

    Нужно в тексте произвести замену
    [id_string]
    на
    <a href="/blablabla/id_string/">desc_string</a>
    , где desc_string будет вытаскиваться из базы (мускул) в соответствии с id_string

    Йа так понимаю, надо сначала вытащить из текста список слов, заключённых в квадратные скобки,
    потом для каждого вытащить описание
    и заменить в тексте.

    Для этого явно понадобятся регулярки, а йа их не знаю :)
    Подскжите с реализацией, плз
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    DiffiT http://php.net/str_replace
     
    _________________________
    1 person likes this.
  3. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?php

    $id_string 
    '123123';
    $text "Transfer to [$id_string], or [$id_string]";
    $str '<a href="/blablabla/'.$id_string.'/">desc_string</a>';

    //вытаскиваешь desc_string из MySQL-базы
    $desc_string 'link';
    ////////////////////////////////////////

    $res str_replace("[$id_string]"str_replace('desc_string'$desc_string$str), $text);

    echo 
    $res;
    ?>
    Оно?
     
    1 person likes this.
  4. DiffiT

    DiffiT Member

    Joined:
    15 Dec 2009
    Messages:
    195
    Likes Received:
    12
    Reputations:
    3
    Не совсем :)
    Имеется ввиду, что id_string может быть любой, и таких вставок может быть несколько.

    Например:
    У попа была [dog],
    Он её любил.
    Она съела кусок мяса,
    Он её [kill].

    заменяем на

    У попа была <a href="bl/dog">собака</a>,
    Он её любил.
    Она съела кусок мяса,
    Он её <a href="bl/kill">убил</a>.
     
  5. DiffiT

    DiffiT Member

    Joined:
    15 Dec 2009
    Messages:
    195
    Likes Received:
    12
    Reputations:
    3
    Имеется ввиду замена массивов?
    Уместно ли такое решение, при 1500 таких id?
     
  6. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    http://ru.php.net/preg_replace_callback
     
    1 person likes this.
  7. DiffiT

    DiffiT Member

    Joined:
    15 Dec 2009
    Messages:
    195
    Likes Received:
    12
    Reputations:
    3
    И этот велосипед изобрели до меня :)
    Всем спасибо.