PHP preg_replace - строка начинается с косой черты - PullRequest
1 голос
/ 05 июня 2011

Попытка использовать preg_replace для поиска строк, которые начинаются и заканчиваются косой чертой, например "/Harry/".(должен быть preg_replace)

Мне также нужно игнорировать регистр и убедиться, что это отдельное слово.Пока что у меня есть следующее, но мне не повезло заставить его работать: (

$old_words[0] = '/\b\/Harry\/\b/i';

$new_words[0] = 'Wizard';

$chat = preg_replace($old_words, $new_words, $chat);

Ответы [ 2 ]

1 голос
/ 05 июня 2011

Если вашей проблемой на самом деле являются просто границы слов \b, тогда вы можете попробовать вместо этого некоторые вспомогательные утверждения:

$old_words[0] = '#(?<!\w)/Harry/(?!\w)#i';

Это в основном гарантирует, что никакие буквы не могут появляться до или после косой черты.

0 голосов
/ 05 июня 2011

Если вы просто хотите заменить отдельные слова, нет необходимости использовать preg_replace. Вместо этого используйте str_ireplace (для замены без учета регистра). Однако вы можете использовать другие символы, кроме /, в качестве разделителя для вашего регулярного выражения: #, ~,…

...