试图否定
字符串,但似乎没有任何作用。
这是我想要做的事情:
输入:
example: word1 word2
我想要的输出:
example: **** word2
当前代码:
preg_replace('/example: (\s|.nbsp;)?[^<\n\r ( )]*', 'example: ****', $sContent);
据我所知,[^<\n\r ( )]
需要改变。目前它分别来自
的每个符号,我希望它采用整个字符串。我怎样才能做到这一点?
答案 0 :(得分:3)
您可以简单地使用.*?
来匹配
之前的所有内容,并使用捕获组来放回其他所有内容:
preg_replace('/(example: ).*?( )/', '$1****$2', $sContent);
或者您可以使用外观来避免捕获组......
preg_replace('/(?<=example: ).*?(?= )/', '****', $sContent);