开发者

PHP preg_replace - String Begins With Forward Slash

开发者 https://www.devze.com 2023-03-10 16:53 出处:网络
Trying to use preg_replace to find strings that begin and end with a forward-slash, for example \"/Harry/\". (has to be preg_replace)

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

精彩评论

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