1

我不知道如何正确地表达这个问题,抱歉。

我正在尝试从数据库中的名称创建干净的虚拟目录。这些名称可以是foo barfoo/barfoo / barfoo: 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 个名称,我不确定有多少组合。

4

1 回答 1

-1

str_replace不会在这里做你想做的事。你需要使用preg_replace看看文档

于 2013-05-03T10:50:35.937 回答