簡體   English   中英

如何用正則表達式/ PHP / preg_replace替換所有匹配項

[英]How to replace all matches with Regex / PHP / preg_replace

基本上,我想替換所有單詞,例如: testsomewordbleble

問題是我正在使用的正則表達式僅替換一個單詞,第一個被找到。 有人可以幫我嗎?

$string = 'http://nu/style/test/someword/bleble';
preg_replace('/(test|someword|bleble)/','',$string);

最好的問候,Mateusz

您可以使用數組來解決問題。

$string  = "http://nu/style/test/someword/bleble";
$remove = array("/test/", "someword/", "bleble");

$result = str_replace($remove, ' ', $string);

您可以將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);

輸出: http://nu/style///

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM