用str_replace替换字符串中的多个项目

sve*_*n30 1 php str-replace

我必须在此示例文本中更改两件事:

example_1,example_2

我需要这样出现: example 1, example 2

所以我需要用空格""替换"_"以及用空格替换","到",".目前我在下面有这个代码,它取代了下划线,但我不知道如何在这段代码中集成","部分.

str_replace('_', ' ', $test)
Run Code Online (Sandbox Code Playgroud)

它会是这样的:

str_replace(('_', ' ',),(',', ' '), $test)
Run Code Online (Sandbox Code Playgroud)

Rya*_*nal 5

或者,在一行中,您可以使用类似于以下内容的正则表达式:

preg_replace("/_(.*)\,/", " \\1, ", "Example_1,Example_2");
Run Code Online (Sandbox Code Playgroud)

上面的代码有一个限制,它不会替换逗号分隔列表中的最后一个元素.以下通过使用逗号选项来缓解这个问题?修改.

echo preg_replace("/_(\d)(\,?)/", " \\1\\2 ", "Example_1,Example_2");
Run Code Online (Sandbox Code Playgroud)

该表达式现在可以正常工作,但应该注意的是,您的最终字符串可能会在末尾附加一个空格字符('').不是世界末日,而是应该注意.