Удаление некоторых плохих частей URL в php - PullRequest
0 голосов
/ 21 марта 2011

У меня есть несколько URL в базе данных с строками запросов, которые были созданы php, и некоторые из них содержат ошибочные строки, которые вызывают у меня проблемы. Эти строки выглядят как атрибуты html, и я не думаю, что они больше добавляются, но мне нужно иметь возможность обрабатывать URL-адреса для удаления этих частей, а их слишком много, чтобы сделать это вручную.

Все плохие детали выглядят примерно так: \" ismap=\"ismap\" usemap=\"usemap\"#_mapname2112__\" height\"534\" alt=\"

Число после имени карты меняется, и высота может измениться, хотя примеры, которые я до сих пор рассматривал, все говорят 534, я не могу быть уверен, что ошибка имеет другие значения в других установках программного обеспечения.

Если у меня есть URL-адрес в строке php, как я могу обработать эту строку, чтобы удалить эти плохие части? Я подозреваю, что это было бы хорошим вариантом использования для регулярного выражения ...

Ответы [ 2 ]

0 голосов
/ 21 марта 2011

Следующее исправило это для меня без использования регулярных выражений. Вероятно, только потому, что плохие биты были в конце URL ...

$url_parts = parse_url($url);
$qs = $url_parts['query'];
$qs = str_replace('\" ismap=\"ismap\" usemap=\"','',$qs);
$url = $url_parts['path'].'?'.$qs;
0 голосов
/ 21 марта 2011

Если вы пишете только «несколько URL-адресов», то сделать это вручную - самый быстрый и легкий вариант.

Кроме того, у вас в приложении недопустимый HTML, поскольку именно так вы получили эти проблемные URL-адреса в первомместо.Исправьте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...