Формирование корректного УРЛа

public function check_sys_url($url) {
        $url = trim($url);
        $url = strip_tags($url);
        $url = preg_replace("/[^A-Za-z0-9_\.]/","",$url);
        return($url);    
    }

Эта простейшая функция вырезает все некорректные символы из строки, подаваемой на вход.

Первое действие - trim() - обрезает все пробельные символы вначале и вконце строки.

Второе действие strip_tags() - вырезает все известные html тэги. Бывают случаи, когда пользователи либо по не знанию, либо намеренно пытаются вставить какие либо тэги в УРЛ, так что лишняя проверка никогда не помешает.

Третье действие - регулярное выражение, которое вырезает из строки все символы кроме латиницы, цифр, знака подчеркивания и точки. Команда preg_replace() делает замену всех символов, которые определяются первым условием /[^A-Za-z0-9_\.]/ на пустоту, то есть удаляет их.

На выходе мы имеем символьную последовательность, которую поймет любой веб-сервер и любой браузер, однако стоит отметить, что тут не хватает проверки на пустоту и на уникальность, но я обычно не объединяю функции такого рода в одного большого монстра. Всегда лучше пытаться разделять методы по логическому смыслу, чтобы через несколько месяцев не пришлось заново разбираться - что же делает функция.