如何在PHP中替换文本字符串中的多个项目?

Jam*_*don 43 php string str-replace

我希望能够替换空格,-但也想删除逗号和问号.我怎么能在一个函数中做到这一点?

到目前为止,我有它替换空格:

str_replace(" ","-",$title)
Run Code Online (Sandbox Code Playgroud)

Nap*_*lux 184

您可以将数组作为参数传递给str_replace().检查手册.

// Provides: You should eat pizza, beer, and ice cream every day
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = ["fruits", "vegetables", "fiber"];
$yummy   = ["pizza", "beer", "ice cream"];

$newPhrase = str_replace($healthy, $yummy, $phrase);
Run Code Online (Sandbox Code Playgroud)

  • 我很困惑,期望垃圾食品变得更健康。更换不好!大声笑。开个玩笑,让函数以[search => replace]形式接受单个数组作为“ replace”参数会更容易 (2认同)
  • 要传递单个关联的替换数组,则可以使用array_keys($ replacements)和array_values($ replacements)作为str_replace中的相应参数。请参阅第一个答案,网址为/sf/ask/37460041/ (2认同)
  • `str_replace` 按顺序替换每个项目,但您也可以使用 [`strtr`](https://www.php.net/manual/en/function.strtr.php) 同时替换项目。 (2认同)