|
|
|
| Для гостевой книги надо фишку по проверке валидности URL (когда пользователь указывает сайт) и E-mail.
Примерная логика:
Для URL
1) http:// и www если есть срубаем (легко :) )
Проверяем всего 2 комбинации слово.2или3символа; слово.2-3сивола.2-3символа (примеры domen.com domen.com.ru должны быть валидными). Остальное должно отсекаться.
Для E-mail тоже проверяем всего 2 комбинации
слово@слово.2-3символа, слово@слово.2-3символа.2-3символа
Примеры валидных: nick@domen.ru nick@domen.com.ru
Помогите пожалуйста с регекспами, туго совсем с ними :(( | |
|
|
|
|
|
|
|
|
для: Саня_
(21.07.2005 в 22:12)
| | >http://www.softtime.ru/forum/read.php?id_forum=1?id_theme=3735&page=1
Если строка полностью состоит из одного e-mail, лучше заменить предложенное там регулярное выражение на
"/^[-0-9a-z_]+@[-0-9a-z_^\.]+\.[a-z]{2,3}$/i"
|
| |
|
|
|
|
|
|
|
для: PHPFan
(21.07.2005 в 21:46)
| | URL можно проверить при помощи регулярного выражения
"#http://[-a-z0-9_.]+\.(html?|php|pl|cgi)[-a-z0-9_:@&?=+,.!/~*'%$]*#i"
|
| |
|
|
|
|
|
|
|
для: cheops
(21.07.2005 в 22:49)
| | > "#http://[-a-z0-9_.]+\.(html?|php|pl|cgi)[-a-z0-9_:@&?=+,.!/~*'%$]*#i"
Не работает :((
Этот регексп считает верным адрес http://ubd.php и др. подобные адреса.
для замены думаю применить вот такую конструкцию:
$text = preg_replace_callback(РЕГЕКСП, "regreplace", $text);
function regreplace($matches)
{
// $matches[1] - это как результат работы рег. выр.
// и туточки производим нужные действия по замене
// к примеру:
$matches[1] = 'ReplaceString';
}
|
На выходе функция должна модернизировать переменную $text заменив в ней по регулярному выражению (а точнее по функции regreplace) то что найдено, на то что требуется. По логике действий я правильно рассудил?
Для проверки URL будет использоваться вот такое выражение:
"/(http:\\/\\/)?([a-z_0-9-.]+\\.[a-z]{2,3}(([ \"'>\r\n\t])|(\\/([^ \"'>\r\n\t]*)?)))/"
|
| |
|
|
|
|
|
|
|
для: PHPFan
(22.07.2005 в 15:34)
| | Создать универсальное регулярное выражение для URL достаточно сложно, эту задачу обычно не решают - иначе получится очень монструозное выражение - приходят к какому-то компромису... | |
|
|
|