使用php清理带有反斜杠和括号的url字符串,这样它就是一个可用的url

时间:2017-01-15 17:41:27

标签: php

我从重力形式返回一个数组,并且该值包含一个url,但由于某种原因,它添加了括号,引号和反斜杠!?

我看过preg_replace(),但似乎有点啰嗦。

我看起来stripslashes()但它删除了所有斜杠。

我的问题是有一个简单的函数解决方案,可以将此字符串值转换为可用的URL,我可以在页面中回显它吗?

下面是我的字符串值...

["http:\/\/joshbakerson.com\/wp-content\/uploads\/gravity_forms\/1-61ecbcd1ce76f3a9c22cc8ee3d541e5b\/2017\/01\/The-Funniest-moment-ever-when-bear-starts-then-bottles-it.mp4"]

我只想将上面的字符串转换为此...

http://joshbakerson.com/wp-content/uploads/gravity_forms/1-61ecbcd1ce76f3a9c22cc8ee3d541e5b/2017/01/The-Funniest-moment-ever-when-bear-starts-then-bottles-it.mp4

关于我应该使用什么功能的任何建议都将非常感谢。

2 个答案:

答案 0 :(得分:0)

stripslashes()应该适合您,因为它只删除\个字符:

$x = '["http:\/\/joshbakerson.com\/wp-content\/uploads\/gravity_forms\/1-61ecbcd1ce76f3a9c22cc8ee3d541e5b\/2017\/01\/The-Funniest-moment-ever-when-bear-starts-then-bottles-it.mp4"]';

$output =  stripslashes($x);

然后,您可以使用str_replace()删除[]"字符:

$output = str_replace('[','', $output);
$output = str_replace(']','', $output);
$output = str_replace('"','', $output);

echo $output;
//   http://joshbakerson.com/wp-content/uploads/gravity_forms/1-61ecbcd1ce76f3a9c22cc8ee3d541e5b/2017/01/The-Funniest-moment-ever-when-bear-starts-then-bottles-it.mp4

答案 1 :(得分:0)

试试这个:

<?php
$string = 'http:\/\/joshbakerson.com\/wp-content\/uploads\/gravity_forms\/1-61ecbcd1ce76f3a9c22cc8ee3d541e5b\/2017\/01\/The-Funniest-moment-ever-when-bear-starts-then-bottles-it.mp4';
$data = str_replace('\/','\\',$string);
echo $data;
?>