[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярное выражение
Savenkov
Всем привет!
Прошу помощи у знатоков в написании регулярного выражения. Необходимо заменить (preg_replace) ссылки вида: ?id=7&opt=map&s=3 на map.php?id=7&s=3
Или например, ?opt=map&id=7&s=3 на map.php?id=7&s=3.
Или, например, ?id=7&s=3&opt=map на map.php?id=7&s=3

Пожалуйста, помогите!!!



Спустя 11 часов, 57 минут, 19 секунд (6.12.2010 - 03:26) kirik написал(а):
Не вижу как красиво можно решить эту задачу регулярками.. Да и не нужно:
/// Вариант номер раз
echo str_replace(array('&opt=map', 'opt=map&'), array('', ''), '?id=7&s=3&opt=map');


/// Вариант номер два (длинный, но самый правильный)
$links = array(
'?id=7&opt=map&s=3',
'?opt=map&id=7&s=3',
'?id=7&s=3&opt=map',
);


foreach($links as &$link) {
parse_str(parse_url($link, PHP_URL_QUERY), $vars);
unset($vars['opt']);
$link = '?' . http_build_query($vars, '', '&');
}
unset($link);

print_r($links);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.