我有一个字符串,其结构类似于:'aba aaa cba sbd dga gad aaa cbz'。字符串每次都可能有点不同,因为它来自外部源。我只想替换第一次出现的'aaa',而不是其他的。这可能吗?
'aba aaa cba sbd dga gad aaa cbz'
'aaa'
8ljdwjyq1#
preg_replace的第四个可选参数是limit:
limit
preg_replace($search, $replace, $subject, 1);
m2xkgtsf2#
您可以使用preg_replace的limit参数,并将其设置为1,以便最多发生一次替换:
preg_replace
1
$new = preg_replace('/aaa/','replacement',$input,1);
rqenqsqc3#
例如,out $content是:
START FIRST AAA SECOND AAA
1)如果用途:
$content = preg_replace('/START(.*)AAA/', 'REPLACED_STRING', $content);
它将改变从开始到最后一个AAA的一切,您的结果将是:
REPLACED_STRING
2)如果用途:
$content = preg_replace('/START(.*?)AAA/', 'REPLACED_STRING', $content);
您的结果将是这样的:
REPLACED_STRING SECOND AAA
3条答案
按热度按时间8ljdwjyq1#
preg_replace的第四个可选参数是
limit
:m2xkgtsf2#
您可以使用
preg_replace
的limit
参数,并将其设置为1
,以便最多发生一次替换:rqenqsqc3#
例如,out $content是:
1)如果用途:
它将改变从开始到最后一个AAA的一切,您的结果将是:
2)如果用途:
您的结果将是这样的: