Delphi6
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору andead Цитата: $word='Hello'; $link='Happy'; print (preg_replace("/($word)([\s[:punct:]])/",$link . '$2','Hello! Hello, Helloworld')); | Мне не совсем понятно почему ваш код работает Ведь исходной строке, после первого слова идет прямо восклицательный знак, а в регулярном выражении написано что после ключевого слова должен идти любой символ пустой строки ... а у нас там восклицательный знак, странно как то. Ну и конечно что бы не пользоваться $2 можно первый захват всегда проигнорировать: Цитата: print (preg_replace("/(?:$word)([\s[:punct:]])/",$link . '$1','Hello! Hello, Helloworld')); | или совсем без него Цитата: print (preg_replace("/$word([\s[:punct:]])/", $link.'$1', 'Hello! Hello, Helloworld')); | И что за аббревиатура :punct:, смотрел на php.net но не нашел | Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 06:25 16-04-2008 | Исправлено: Delphi6, 06:30 16-04-2008 |
|