基本上我想更換像所有的話:測試,someword,bleble。如何使用正則表達式/ PHP /的preg_replace替換所有比賽
問題是,我正在使用的正則表達式,只替換其中一個詞,第一個找到的。任何人都可以幫我解決這個問題嗎?
$string = 'http://nu/style/test/someword/bleble';
preg_replace('/(test|someword|bleble)/','',$string);
最好的問候, Mateusz
基本上我想更換像所有的話:測試,someword,bleble。如何使用正則表達式/ PHP /的preg_replace替換所有比賽
問題是,我正在使用的正則表達式,只替換其中一個詞,第一個找到的。任何人都可以幫我解決這個問題嗎?
$string = 'http://nu/style/test/someword/bleble';
preg_replace('/(test|someword|bleble)/','',$string);
最好的問候, Mateusz
您可以使用array()
您模式。您需要一個陣列用於模式,可能會被替換,另一個陣列用於替換。
$string = 'http://nu/style/test/someword/bleble';
$patterns = array(
"/test/",
"/someword/",
"/bleble/"
);
$replacements = array(
"",
"",
""
);
preg_replace($patterns, $replacements, $string);
當然,如果你想用同一個詞來替換所有$patterns
,你可以使用:
preg_replace($patterns, " ", $string);
OUTPUT:
http://nu/style///
您可以使用一個數組來解決問題。
$string = "http://nu/style/test/someword/bleble";
$remove = array("/test/", "someword/", "bleble");
$result = str_replace($remove, ' ', $string);
因此,請參閱https://ideone.com/ArrsJz - 它正在刪除它們 –
那麼,預期的輸出是什麼? –
我認爲,你的代碼工作正常。您的代碼將輸出:'http:// nu/style ///' – pes502