Вопрос по preg_replace

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

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

    yxxx Создатель

    Регистр.:
    27 мар 2008
    Сообщения:
    13
    Симпатии:
    2
    Здравствуйте.
    PHP:
    $baza preg_replace("/href=\"(.+?)\"/","href=\"$1\"",$baza);
    Подскажите как заменить $1 на кодированное значение base64_decode($1)
    PHP:
    $baza preg_replace("/href=\"(.+?)\"/","href=\"base64_decode($1)\"",$baza);
    - так не получается
     
  2. antn

    antn Постоялец

    Регистр.:
    11 июл 2009
    Сообщения:
    104
    Симпатии:
    30
    PHP:
    $baza preg_replace("/href=\"(.+?)\"/e","href=\"base64_decode($1)\"",$baza);
     
  3. yxxx

    yxxx Создатель

    Регистр.:
    27 мар 2008
    Сообщения:
    13
    Симпатии:
    2
    Вот весь код, подскажите как правильно?
    PHP:
    <?
    $baza.= <<<HTML
    <a href="http://ссылка1" rel="nofollow" target="_blank" onClick="cl(this)">ТЕКСТ1</font></a>
    <a href="http://ссылка2" rel="nofollow" target="_blank" onClick="cl(this)">ТЕКСТ2</a>
    HTML;
    $baza preg_replace('#href="http://(.+?)"#e',"href=\"http://ссылка.ru/go.php?url=base64_decode($1)\"",$baza);
    echo 
    "<noindex>".$array[rand(0,count($array)-1)]."</noindex>";
    ?>
    Выдает ошибку
    HTML:
    Parse error: syntax error, unexpected '=' in Z:\home\78.31.74.53\www\rtext.php(6) : regexp code on line 1
    Fatal error: preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Failed evaluating code: href=&quot;[url]http://ссылка.ru/go.php?url=base64_decode(gobylink.com/?id=11979)&quot;[/url] in Z:\home\78.31.74.53\www\rtext.php on line 6
     
  4. Dziamid

    Dziamid Создатель

    Регистр.:
    8 окт 2008
    Сообщения:
    11
    Симпатии:
    0
    Функцию вынеси из строки:
    $baza = preg_replace("/href=\"(.+?)\"/e",'href="'.base64_decode($1).'"',$baza);
     
  5. yxxx

    yxxx Создатель

    Регистр.:
    27 мар 2008
    Сообщения:
    13
    Симпатии:
    2
    Теперь ошибка
    Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in .....\www\rtext.php on line 6
     
  6. antn

    antn Постоялец

    Регистр.:
    11 июл 2009
    Сообщения:
    104
    Симпатии:
    30
    PHP:
    $baza preg_replace("/href=\"(.+?)\"/e","'href=\"'.base64_encode('\\1').'\"'",$baza);
     
    yxxx нравится это.
  7. yxxx

    yxxx Создатель

    Регистр.:
    27 мар 2008
    Сообщения:
    13
    Симпатии:
    2
    Спасибо все получилось!):(yahoo::ay:
     
Статус темы:
Закрыта.