REANIMATOR
17.02.2009 - 13:54
Объясните пожалуйста, а то я не могу понять. В 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); во, теперь вроде все верно |
немножко не то.. но спасибо всё равно.
я уже разобрался...