我不知道如何恰当地表达这个问题,抱歉。
我正试图从数据库中的名称创建干净的虚拟目录。这些名称可以是foo bar
、foo/bar
、foo / bar
、foo: bar
等。
我正试图用-
取代spaces
, :
, /
来清理url,所以我有:
$search_array = array(" ","-", ":", "/");
$clean_url = str_replace($search_array, "-", $name);
在foo bar
的情况下,这将其更改为foo-bar
,这是我想要的结果,但当涉及到foo : bar
时,它将更改为foo---bar
是否有一些方法我可以得到str_replace只替换一次,如果发现多个结果?
我想把东西,如[space]:[space]
在搜索数组,但我有大约60万个名字,我不确定有组合的数量。
str_replace
不会在这里做你想要的。您需要使用preg_replace,请查看文档