假设我有这样一个字符串:
$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);