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_\.]/ на пустоту, то есть удаляет их.
На выходе мы имеем символьную последовательность, которую поймет любой веб-сервер и любой браузер, однако стоит отметить, что тут не хватает проверки на пустоту и на уникальность, но я обычно не объединяю функции такого рода в одного большого монстра. Всегда лучше пытаться разделять методы по логическому смыслу, чтобы через несколько месяцев не пришлось заново разбираться - что же делает функция.