как удалить из url строки звездчку, двойные кавички, знаки '|' '>','<','^','%' ,но знак '-' нужен вообще как заменить на другие символи с помощью str_replace или регулярки вот такой вариант Код PHP 1 2 $uri= str_replace("\"", "", $uri); $url = str_replace("\"","'",$url); не работают
Мне просто интересно, не в первый раз уже, почему многие просят готовый вариант? Это не знание элементарных вещей или просто лень? Что по этой ссылке не понятно? php.net/manual/en/function.str-replace.php
я новичек и этот манул уже читал ,но ваш вариант $find = array("*", "<", "|", '"'); $replace=array(""); $uri = str_replace($find, $replace, $uri); уже пробовал,и проверте ваши мысли, потом пишите , все равно не работает
(((( Покажи url и код которым ты убираешь лишнее. Трудно поверить что прочитав примеры которые там приведены не получается сделать. дам подсказку не обязательно $replace делать массивом, можно просто '' Добавлено спустя 46 секунд: но это не влияет на результат просто так чуток правильней.
$uri из базы везетья и в гет параметр даютья ссылки типа http://test500.ru/html-sozdanie-sajta.html но такие варианты как http://test500.ru/html-sozdan<ie-sajta.html http://test500.ru/html-sozdan"ie-sajta.html и так далее str_replace пропускает ,а вот с одинарной кавычкаю проблем нет сделал $uri = str_replace("'", "", $uri); и все.
Код (Text): $uri = 'http://test500.ru/html-sozdan<ie-sajta.html'; $find = array("*", "<", "|", '"'); $replace=array(""); $uri = str_replace($find, $replace, $uri); echo $uri; //http://test500.ru/html-sozdanie-sajta.html бинго!
Хм... Может быть такой вариант, что твой урл закодирован? Добавлено спустя 59 секунд: Ты в переменную $url откуда берешь значение?
ves cms kak prikrepit? Добавлено спустя 14 минут 3 секунды: public static function getControllerAndAction() { $uri = $_SERVER["REQUEST_URI"]; // trim // remove unwanted characters $uri = preg_replace ("~(\\\|\/\?|\''|\[|\?|\]|\(|\\\$|\))~", "",$uri); $uri= str_replace("\w", "", $uri); $uri = str_replace('#39;', '', $uri); // удаляем одинарные кавычки $uri = str_replace('"', '', $uri); // удаляем двойные кавычки $uri = str_replace('', "/%22", $uri); $uri = str_replace('"', '', $uri); $uri =str_replace("/[^A-Za-zА-Яа-яЁё]/g", "",$uri ); $uri = str_replace("'", "", $uri); $uri = str_replace("_", "", $uri); $uri = str_replace("!", "", $uri); $uri = str_replace("@", "", $uri); $uri = str_replace("#", "", $uri); $uri = str_replace("}", "", $uri); $uri = str_replace('/^', "/", $uri); $uri = str_replace("&", "", $uri); $uri = str_replace("+", "", $uri); $uri = str_replace("_", "", $uri); $uri = str_replace("0034", "", $uri); $uri = UseSEF::getRequest($uri); if (!$uri) return array("Main", "404"); list($url_part, $qs_part) = array_pad(explode("?", $uri), 2, ""); parse_str($qs_part, $qs_vars); Request::addSEFData($qs_vars); $controller_name = "Main"; $action_name = "index"; if (($pos = strpos($uri, "?")) !== false) $uri = substr($uri, 0, strpos($uri, "?")); $routes = explode("/", $uri); if (!empty($routes[2])) { if (!empty($routes[1])) $controller_name = $routes[1]; $action_name = $routes[2]; } elseif (!empty($routes[1])) $action_name = $routes[1]; return array($controller_name, $action_name); }