<?php
error_reporting(E_ALL);
header('Content-type: text/html; charset=utf-8');
$a = 'http://г';
if(preg_match('#^http\://[\w\d]+/?$#', $a))
echo 'true';
else
echo 'false';
?>
Спустя 2 минуты, 7 секунд (18.11.2011 - 19:52) Игорь_Vasinsky написал(а):
\w - все буквы, не только латинский
для юникода используют модификатор - u, i - любой регистр
для юникода используют модификатор - u, i - любой регистр
<?php
error_reporting(E_ALL);
header('Content-type: text/html; charset=utf-8');
$a = 'http://г';
if(preg_match('#^http\://[a-z\d]+/?$#iu', $a))
echo 'true';
else
echo 'false';
?>
Спустя 10 минут, 32 секунды (18.11.2011 - 20:03) Xes написал(а):
Цитата (Игорь_Vasinsky @ 18.11.2011 - 16:52) |
для юникода используют модификатор - u |
Ага раньше писал, но ни когда не видел в чем это проявляется как раз проявляется в том что почемута одна буква выбрасывает на труе, другая на фальш.
Добавил u все в фальш пошло.
Цитата (Игорь_Vasinsky @ 18.11.2011 - 16:52) |
\w - все буквы, не только латинский |
А вот это нет! надо добавлять [\w\dа-я] iu
Спустя 5 минут, 49 секунд (18.11.2011 - 20:08) Игорь_Vasinsky написал(а):
всмысле?
если ты ловил тока английские буквы - то [a-z], если все буквы то \w
хотя в юникоде рекомендуют
pN - все буквы
pL - все цифры
а если ты проверяешь урл - то там и точка и слеш и тире ещё может быть.
если ты ловил тока английские буквы - то [a-z], если все буквы то \w
хотя в юникоде рекомендуют
pN - все буквы
pL - все цифры
а если ты проверяешь урл - то там и точка и слеш и тире ещё может быть.
Спустя 3 минуты, 58 секунд (18.11.2011 - 20:12) Xes написал(а):
Ну я примитивно проверяю урл, мне этого достаточно (там несколько иное выражение у меня).
А про регулярку я говорю что \w -Это только латиница.
Я же пишу попробывал рускиую "г" поставит получил фальш. Вот попроуй.
А про регулярку я говорю что \w -Это только латиница.
Я же пишу попробывал рускиую "г" поставит получил фальш. Вот попроуй.
<?php
error_reporting(E_ALL);
header('Content-type: text/html; charset=utf-8');
$a = 'http://Ф';
if(preg_match('#^http\://[\w\d]+/?$#iu', $a))
echo 'true';
else
echo 'false';
?>
Спустя 3 минуты, 34 секунды (18.11.2011 - 20:16) Xes написал(а):
хотя в юникоде рекомендуют
pN - все буквы
pL - все цифры
Пример можна, синтексис. Чето не получается.
pN - все буквы
pL - все цифры
Пример можна, синтексис. Чето не получается.
Спустя 1 минута, 54 секунды (18.11.2011 - 20:18) dadli написал(а):
Xes
можно один вопрос?
почему в шаблоне перед дветочки : исползуеш обратнии слеш ?
можно один вопрос?
почему в шаблоне перед дветочки : исползуеш обратнии слеш ?
Спустя 4 минуты, 49 секунд (18.11.2011 - 20:23) Xes написал(а):
ПОтомучто вроди как : какойто спецсимвол. Пробовал без слеша тоже работает, пока бродил по инету наткнулся на какомто форуме, на то что там перед : стоит слеш обратный, с сответвующими коментами мол это спец символ какойто.
Цитата |
Вот ведь. И, действиетльно, ларчик открывался просто. двоеточие определяется так \: Итого решение: ^.*\::berror:b.*\:.*$ Спасибо всем, кто помог ! Вместе — мы сила ! :beer: |
Спустя 5 минут, 57 секунд (18.11.2011 - 20:29) dadli написал(а):
Xes
просто заинтересовался, я не знаю что азначает спецсимбол : и патаму спрашивал. ок харашо
просто заинтересовался, я не знаю что азначает спецсимбол : и патаму спрашивал. ок харашо
Спустя 8 секунд (18.11.2011 - 20:29) Игорь_Vasinsky написал(а):
: - это спецсимвол, поэтому он должен экранироваться
для ТС http://ru.php.net/manual/ru/regexp.reference.unicode.php
для ТС http://ru.php.net/manual/ru/regexp.reference.unicode.php
Цитата |
pN - все буквы pL - все цифры |
\pN
\pL
Спустя 2 минуты, 19 секунд (18.11.2011 - 20:31) m4a1fox написал(а):
Xes
Эммм.... вопрос к вам!? А какого вида проверку надо сделать?! Что это чисто ссылка и в ней нет спец. символов?
Эммм.... вопрос к вам!? А какого вида проверку надо сделать?! Что это чисто ссылка и в ней нет спец. символов?
Спустя 49 секунд (18.11.2011 - 20:32) Игорь_Vasinsky написал(а):
он в шаблоне дописывает http:// - поэтому и : там экранирует
Спустя 45 секунд (18.11.2011 - 20:33) Xes написал(а):
Цитата (dadli @ 18.11.2011 - 17:29) |
я не знаю что азначает спецсимбол : |
Я тоже, но это мне не мешает )))
Посмотри в инете раскажишь, а то мне влом его искать чо он значит.
Наверное это чтото из области жадности, или объединения какого нибуть.
Спустя 1 минута, 56 секунд (18.11.2011 - 20:35) Xes написал(а):
Вообще надо проверку домена сделать чтобы можно было ввести только адрес сайта с http:// можно без www, можно руские буквы. Можно второго уровня домены и т.д. но нельзя вводить страницы сайта.
Ну это я парнул с \w\d Надо переделать.
Вот есть такое но я его не вкурил пока
Ну это я парнул с \w\d Надо переделать.
Вот есть такое но я его не вкурил пока
if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) {
Спустя 4 минуты, 57 секунд (18.11.2011 - 20:39) m4a1fox написал(а):
Xes
Цитата |
Посмотри в инете раскажишь, а то мне влом его искать чо он значит. |
Я в шоке. Если ВАМ в лом?! Нафига мы здесь собрались?
Спустя 46 минут, 57 секунд (18.11.2011 - 21:26) Xes написал(а):
Цитата (dadli @ 18.11.2011 - 17:18) |
Xes можно один вопрос? почему в шаблоне перед дветочки : исползуеш обратнии слеш ? |
Хотя может я и погаречился поставив \, чето я не нашел что такое просто ":" вероятно на том форуме, мог ктото просто чето ляпнуть а я у себя исправил как там было хотя и без \ работало.
Спустя 9 минут, 14 секунд (18.11.2011 - 21:36) PandoraBox2007 написал(а):
http://gskinner.com/RegExr/ Справка вкладка Community с примерами
Спустя 18 минут, 24 секунды (18.11.2011 - 21:54) Xes написал(а):
<?php
$url = 'http://домен.рф/';
//$url = 'http://www.домен.рф/';
if(preg_match('#^http://[а-я\w\d][а-я\w\d_-]*(\.[а-я\w\d][а-я\w\d_-]*)+/?$#iu', $url))
?>
Вот так я переделал вроди работает.
Спустя 4 часа, 57 минут, 16 секунд (19.11.2011 - 02:51) m4a1fox написал(а):
Скажите, а ни кто не догадался использовать filter_var????????
Спустя 6 часов, 10 минут, 24 секунды (19.11.2011 - 09:02) Xes написал(а):
Там нет шаблона (флага) для проверки что введен только домен без указания страниц сайта.
Спустя 1 час, 51 минута, 54 секунды (19.11.2011 - 10:54) m4a1fox написал(а):
Xes
Есть! Внимательнее смотри!
Есть! Внимательнее смотри!
FILTER_FLAG_SCHEME_REQUIRED
FILTER_FLAG_HOST_REQUIRED
FILTER_FLAG_PATH_REQUIRED
FILTER_FLAG_QUERY_REQUIRED
$var_1 = 'http://kron0s.com';
$var_2 = 'http://kron0s.com/path/to/some/file';
$var_3 = 'http://kron0s.com/path/to/some/file/?foo=bar';
$var_4 = 'www.kron0s.com';
$var_5 = 'some_file.html';
$var_6 = "/path/to/some/file";
filter_var($var_1, FILTER_VALIDATE_URL); // вернет http://kron0s.com
filter_var($var_1, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED); // вернет FALSE
filter_var($var_2, FILTER_VALIDATE_URL); //вернет http://kron0s.com/path/to/some/file
filter_var($var_2, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED); // вернет FALSE
filter_var($var_3, FILTER_VALIDATE_URL); // вернет http://kron0s.com/path/to/some/file/?foo=bar
filter_var($var_4, FILTER_VALIDATE_URL); // вернет FALSE
filter_var($var_5, FILTER_VALIDATE_URL); // вернет FALSE
filter_var($var_6, FILTER_VALIDATE_URL); // вернет FALSE
Спустя 1 день, 4 часа, 25 минут, 1 секунда (20.11.2011 - 15:19) Xes написал(а):
Я так и не допер как исключить путь, Чтобы только имя хоста проходило.
так нельзя
http://kron0s.com
http://kron0s.com/
http://www.kron0s.com
http://pod-dom.kron0s.com/
так нельзя
http://kron0s.com/f
http://kron0s.com/f.html
Спустя 8 часов, 34 минуты, 44 секунды (20.11.2011 - 23:53) Winston написал(а):
Цитата (Игорь_Vasinsky @ 18.11.2011 - 18:52) |
\w - все буквы, не только латинский |
Под шаблон \w попадают (a-zA-Z0-9_)
Цитата (Игорь_Vasinsky @ 18.11.2011 - 19:29) |
: - это спецсимвол, поэтому он должен экранироваться |
C какого перепуга? :blink: : это обычный литерал, который при некоторой последовательности может приобретать некоторую специальность, как например ?:
Цитата (Xes @ 20.11.2011 - 14:19) |
Я так и не допер как исключить путь, Чтобы только имя хоста проходило |
$a = 'http://kron0s.com/'; // Будет true
$a = 'http://kron0s.com/f'; // Будет false
if(preg_match('#^http://[\pL\pN.]+/?$#iuU', $a))
echo 'true';
else
echo 'false';