如何防止str_replace连续两次替换?

时间:2013-05-03 10:47:27

标签: php str-replace

我不确定如何正确地说出这个问题,道歉。

我正在尝试从数据库中的名称创建干净的虚拟目录。这些名称可以是foo barfoo/barfoo / barfoo: bar等等。

我正在尝试将spaces:/替换为-以清理网址,以便我拥有:

$search_array = array(" ","-", ":", "/");
$clean_url = str_replace($search_array, "-", $name);

如果是foo bar,则会将其更改为foo-bar,这是我想要的结果,但当涉及foo : bar之类的内容时,它会更改为foo---bar

如果找到多个结果,有没有办法让str_replace只替换一次?

我考虑过将[space]:[space]这样的内容放在搜索数组中,但我有大约600,000个名字,我不确定它们的组合数量。

1 个答案:

答案 0 :(得分:0)

str_replace不会在这里做你想做的事。您需要使用preg_replace查看documentation