开发者

PHP preg_replace - String Begins With Forward Slash

Trying to use preg_replace to find strings that begin and end with a forward-slash, for example "/Harry/". (has to be preg_replace)

I also need to ignore case and ensure it is an individual word. So far I have the following but I am having little luck getting it to work :(

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

$new_words[0] = 'Wizard';

$chat = preg_replace($old_words, $new_words, $cha开发者_JAVA技巧t);


Should your problem really just be the word boundaries \b, then you could try some auxiliary assertions instead:

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

That basically ensures that no letters can occur before or after the slashes.


If you just want to replace single words, it is not necessary to use preg_replace. Use str_ireplace (for case-insensitive replacement) instead. However, you can use other chars than / as delimiter for your regular expression: #, ~, …

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜