[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: preg_replace() в случае несовпадения
REANIMATOR
Объясните пожалуйста, а то я не могу понять. В preg_replace(), как можно задать патерн, что- бы замена происходила только тогда, когда нет "/" (слеша)

например:
есть стринг <a href="/files/images/mail.gif">mail</a> mail который хранится в переменной $text. нужно заменить только те слова, рядом с которыми не стоит слеш.

такое не работает

PHP
$key "mail";
$text preg_replace("/(^\/){$key}/","new_mail",$text);





Спустя 2 часа, 11 минут, 9 секунд (17.02.2009 - 15:05) Viking написал(а):
$text = preg_replace("/[^\/]{$key}/","new_mail",$text);

Спустя 47 минут, 8 секунд (17.02.2009 - 15:53) REANIMATOR написал(а):
Цитата (Viking @ 17.02.2009 - 12:05)
$text = preg_replace("/[^\/]{$key}/","new_mail",$text);

не работает

Спустя 6 минут, 2 секунды (17.02.2009 - 15:59) Viking написал(а):
странно
PHP
<?php
$text 
'<a href="/files/images/mail.gif">mail</a> mail';
$key "mail";
$text preg_replace("/[^\/]{$key}/","new_mail",$text);
echo 
htmlspecialchars($text);

у меня выдает
Цитата

<a href="/files/images/mail.gif"new_mail</a>new_mail

вроде то что требовалось

Спустя 5 минут, 8 секунд (17.02.2009 - 16:04) REANIMATOR написал(а):
Цитата (Viking @ 17.02.2009 - 12:59)
у меня выдает
Цитата

<a href="/files/images/mail.gif"new_mail</a>new_mail

вроде то что требовалось


оно отрезает имя ссылки (то что между <a>...</a>)

Спустя 1 минута, 36 секунд (17.02.2009 - 16:05) Viking написал(а):
имя ссылки вроде как и должно заменяться
">" - перед ним съедает, это да...

Спустя 2 минуты, 20 секунд (17.02.2009 - 16:08) Viking написал(а):
$text = preg_replace("/(?<!\/)$key/","new_mail",$text);
во, теперь вроде все верно

Спустя 6 часов, 32 минуты, 30 секунд (17.02.2009 - 22:40) REANIMATOR написал(а):
Цитата (Viking @ 17.02.2009 - 13:08)
$text = preg_replace("/(?<!\/)$key/","new_mail",$text);
во, теперь вроде все верно


немножко не то.. но спасибо всё равно.
я уже разобрался...

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.