PHP替换其他子字符串的前面的子字符串


PHP replace preceding substrings of some other substring

假设我有这样一个字符串:

$myString = 'aaa = b AND cc = dd OR e = ff_%_g AND hh = iii AND j = k_%_lll ...'

我想检查子字符串'_%_'是否存在,在这种情况下,我想用'LIKE'替换前面的(并且只有前面的)'='

也就是,我想要这个:

$myString = 'aaa = b AND cc = dd OR e LIKE ff_%_g AND hh = iii AND j LIKE k_%_lll ...'

我知道如何使用strpos()substr_replace()替换所有的'=',但我只需要替换'_%_'之前的那些

请帮忙好吗?

给你:

$myString = preg_replace("/=([^=]*_%_[^ ]*)/", "LIKE $1", $myString);