僅更換第一場比賽我有類似結構的字符串:'aba aaa cba sbd dga gad aaa cbz'
。該字符串可能每次都有點不同,因爲它來自外部源。使用的preg_replace
我想更換'aaa'
而不是其他的唯一一次出現。可能嗎?
僅更換第一場比賽我有類似結構的字符串:'aba aaa cba sbd dga gad aaa cbz'
。該字符串可能每次都有點不同,因爲它來自外部源。使用的preg_replace
我想更換'aaa'
而不是其他的唯一一次出現。可能嗎?
的preg_replace可選的第四個參數是limit
:
preg_replace($search, $replace, $subject, 1);
您可以使用preg_replace
的limit
說法,這和其設置爲1
,使至多一個替代情況:
$new = preg_replace('/aaa/','replacement',$input,1);
例如,從$內容是:
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
爲什麼這恰好發生的開銷?有關 」?」。 – user111671
謝謝你的回答,如果我只需要從最後開始替換第一場比賽?代碼是什麼? –
@josesanchez如果字符串不是太長,你可以使用strrev扭轉它,並用這一招,但搜索要查找模式的反向,然後再反向的字符串。如果是很長的,你會想掃描它是反向避免倒車串兩次 – Paulpro