在php中删除网址的一些坏部分

时间:2011-03-21 11:48:27

标签: php regex url

我在数据库中有一些网址,其中包含由php构建的查询字符串,其中一些包含导致我出现问题的错误字符串。这些字符串看起来像html属性,我不认为它们已被添加,但我需要能够处理网址以删除这些部分,而且手动操作太多了。

坏部分看起来像:\" ismap=\"ismap\" usemap=\"usemap\"#_mapname2112__\" height\"534\" alt=\"

mapname之后的数字会有所不同,虽然我到目前为止所看到的例子都说534,但高度可能会有所不同。我不能确定错误在其他软件安装上有不同的值。

假设我在php字符串中有url,如何处理此字符串以删除这些坏部分?我怀疑这对正则表达式来说是一个很好的用例......

2 个答案:

答案 0 :(得分:0)

如果你写的只是“一些网址”,那么手动操作是最快捷,最轻松的选择。

此外,您的应用程序中包含无效的HTML,因为这就是您首先获得这些有问题的URL的方式。解决了这个问题。

答案 1 :(得分:0)

以下为我修复了它而不使用正则表达式。可能只是因为坏位在网址的末尾......

$url_parts = parse_url($url);
$qs = $url_parts['query'];
$qs = str_replace('\" ismap=\"ismap\" usemap=\"','',$qs);
$url = $url_parts['path'].'?'.$qs;