如何在PHP中格式化这种类型的URL?

时间:2010-09-24 08:31:59

标签: php regex url

嘿朋友们,
我使用以下API获取IMDB的详细信息,http://www.deanclatworthy.com/imdb/?q = Star + Trek
当我使用以下API时,我得到以下输出的URL

HTTP:\ / \ / www.imdb.com \ /标题\ / tt0796366 \ /

如何将其更改为

http://www.imdb.com/title/tt0796366/

PHP中的

4 个答案:

答案 0 :(得分:5)

使用stripslashes

$url = 'http:\/\/www.imdb.com\/title\/tt0796366\/';
$url = stripslashes($url);

答案 1 :(得分:0)

$url = "http:\/\/www.imdb.com\/title\/tt0796366\/";
$url = str_replace("\/","/",$url);

示例http://ideone.com/J44Q6

答案 2 :(得分:0)

$url = str_replace('\', '', $url);

答案 3 :(得分:0)

URL已被转义 - 也就是说,它在某些其他字符前面添加了反斜杠字符,这可能会导致问题,例如,如果它们被放入SQL字符串中。

PHP有一个命令stripslashes()来删除这些转义字符。

但是,PHP自动添加斜杠的功能已经过时,现已弃用。如果可能,您应该检查PHP.ini并关闭magic_quotes选项。这样你就不会再将斜杠添加到输入中了,所以你不必删除它们。

请注意,如果要将数据写入数据库,则需要先将其转义,然后再将其放入SQL字符串中。但是你应该使用像mysql_real_escape_string()这样的东西,而不是magic_quotes添加的斜杠。