如何在PHP中替换一些文本,而不让中间的文本影响进程

如何在PHP中替换一些文本,而不让中间的文本影响进程,php,regex,Php,Regex,我想问一下,有没有任何方法可以在PHP中替换文本,而不让中间的文本影响替换过程,使用preg\u replace? 例如,我想将你好,阿德尔,你好吗?替换为再见,阿德尔,再见,事实上Adel可以是任何其他名称或全名(例如:Sia,Tyler,熏鲑鱼) 像这样(OriginalText==>ModifiedText): 你好,我不认识的人,你好吗?==>再见,我不认识的人,再见! 你好,用户,你好吗?==>再见,用户,再见! 比如如果你好和一些单词组合那么,你怎么样?将被再见和一些单词组合所取

我想问一下,有没有任何方法可以在PHP中替换文本,而不让中间的文本影响替换过程,使用
preg\u replace

例如,我想将
你好,阿德尔,你好吗?
替换为
再见,阿德尔,再见
,事实上Adel可以是任何其他名称或全名(例如:
Sia
Tyler
熏鲑鱼

像这样(
OriginalText==>ModifiedText
):

你好,我不认识的人,你好吗?==>再见,我不认识的人,再见!
你好,用户,你好吗?==>再见,用户,再见!

比如如果
你好
一些单词组合
那么
,你怎么样?
将被
再见
一些单词组合所取代,那么
,待会儿见使用
preg\u替换



如果无法使用
preg_replace
,请告诉我如何以其他方式执行使用捕获组
()
从模式中间获取变量文本,并在替换中使用反向引用(
$1
)引用它


@user3783243是什么意思?是的,这不是我想要的所以
你好,你好吗?
替换为
再见,再见?如果是,也许?
$after = preg_replace(
    '/Hello (.+), How are you\?/',
    'Bye $1, See you later!',
    $before
);