apple
написал 15 марта 2009 года в 13:21 (1940 просмотров)
Ведет себя
неопределенно; открыл 19 тем в форуме, оставил 98 комментариев на сайте.
есть переменная $d . как проверить её? она должна содержать только буквы цифры и(или) точки.
Знаю что escapeshellarg() или escapeshellarg().
примеров нету.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Советую познать силу регулярных выражений ;-)
я вот так сделал. работает.
$dom = escapeshellarg($dom);
спсб!
тему можно закрывать.
escapeshellarg() не проверяет значение переменной, а тупо экранирует в ней всякие кавычки — это не то…
escapeshellarg() так он не защищает от всяких подлых символов? типа пробелов и / ; «»
Ага, забыл, но суть не меняется.
escapeshellarg() добавляет в строку кавычки и/или «\» для того, чтобы «проблемные» символы корректно передались шеллу в system(). Это «защищает» от возможности подставить в system() произвольную строку, которая может привести к выполнению любых команд, но не «проверяет переменную».
Для проверки же переменной надо использовать регулярные выражения и выдавать ошибку, если введена некорректная строка.
P.S. Как понимаю, нужна проверка на домен, а для этого можно составить куда более умное выражение, чем просто проверка на наличие букв/цифр/точек…
домены с дефисом не пропускает.
чего исправить в проверке?
Заменить регулярное выражение на:
А лучше — сразу на что-нибудь, например, такое:
P.S. В гугле можно найти кучу регэкспов для проверки доменов. Последнее я как раз только что взял оттуда… (http://regexlib.com/DisplayPatterns.aspx)
Ооо, какой сайт! Спасибо! :)
не пропускает домены первого уровня например ru com итд
> не пропускает домены первого уровня например ru com итд
На заметку: Домены первого уровня — это .ru или .com, а не что-то.com.
Кроме того, это он однобуквенные не пропускает (x.org). А 2-буквенные — нормально (ya.ru). Можно исправить так:
я знаю что такое домен 1уровня.)
<font color=«/Blue/»>как окрасить строку выводящую * в синий цвет?</font>
<font color=«/Blue/»>этот пример окрашивает тольк аааа.</font>
> $b=preg_replace…
Ну, это уже финиш. Вы бы почитали для начала, как оно вообще работает. Выражение бредово по ряду причин… Вопрос поставлен плохо.
оно есть в примерах.
Здесь развернуто описано как проверить переменную на целое число: http://hashcode.ru/questions/153602/проверка-переменной-на-целое-число