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