我不知道如何正确地表达这个问题,抱歉。
我正在尝试从数据库中的名称创建干净的虚拟目录。这些名称可以是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]
但我有大约 600,000 个名称,我不确定有多少组合。