1

我正在尝试替换 PHP 中的一个字符串,它正在努力。我拥有的字符串是:

http:\/\/xxx.xxx\/xxx

我想更换

\/

只需

/

(给http://xxx.xxx/xxx)。不过,所有的逃跑和东西都让我很困惑!

我已经尝试了所有我能想到的组合。我想:

$str= preg_replace("\ \\ \/ /", "/ \/ /", $str);

会做的伎俩(删除空格),但没有运气。

有人可以在这里快速帮助我吗?我快要失去求生的意志了。

谢谢!

4

5 回答 5

6

你不需要正则表达式,你可以使用 str_replace :

$str = str_replace('\\', '', $str);
于 2013-06-26T16:11:29.683 回答
3

这个任务可以用str_replace来完成。正则表达式在任何地方都有用时使用。

 $str= str_replace("\\", "", $str);

测试

$str="http:\/\/xxx.xxx\/xxx";
$str= str_replace("\\", "", $str);
echo $str;

输出

http://xxx.xxx/xxx

编辑

如果要删除反斜杠,也可以使用stripslashes

$str="http:\/\/xxx.xxx\/xxx";
$str= stripslashes($str);
echo $str

现场演示

于 2013-06-26T16:11:44.223 回答
3

preg_replace()需要第一个字符作为分隔符,反斜杠也需要双转义,一次用于字符串,一次用于正则表达式):

$str = preg_replace('#\\\\/#', '/', $str)

但正如其他用户所建议的,只使用 str_replace 可能更简单:

$str = str_replace('\/', '/', $str);

于 2013-06-26T16:26:59.747 回答
2

正则表达式增加复杂性,使用简单的str_replace

$str = str_replace('\/', '/', $str);

测试

$str="http:\/\/xxx.xxx\/xxx";
$str= str_replace("\/", "/", $str);
echo $str;

输出

http://xxx.xxx/xxx

于 2013-06-26T16:13:23.103 回答
-2

这是一个正则表达式的来源,我建议你检查一下。http://overapi.com/regex/

于 2013-06-26T16:14:55.500 回答