繁体   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