За последние 24 часа нас посетили 17760 программистов и 1286 роботов. Сейчас ищет 1401 программист ...

Помогите с регулярным

Тема в разделе "Регулярные выражения", создана пользователем joost, 10 янв 2007.

  1. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    вообще, бред перед этим написал..:(

    PHP:
    1. <?
    2. preg_match_all('/&#[0-9]{2};/',$POST['key_name'],$POST['key_name']);
    3. $POST['key_name'] = join(' ',$POST['key_name']);
    4. ?>
    в итоге получится строка только корректных последовательностей символов, разделенных пробелом.
     
  2. Demon

    Demon Активный пользователь

    С нами с:
    20 апр 2006
    Сообщения:
    239
    Симпатии:
    0
    Что-то никак не могу разобраться с регулярными выражениями. Нужно чтобы строка, отправленная из формы проверялась на наличие только английских букв (любые символы и пробелы должны входить в эту регулярку), а при нахождениии в строке русских букв, выдавалась бы ошибка. Как только не пробовал писать - например preg_match_all('/[a-zA-Z0-9]/'); - все-равно русские буквы проходят.. Помогите пожалуйста..:(
     
  3. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    /^[a-zA-Z0-9]$/
     
  4. Demon

    Demon Активный пользователь

    С нами с:
    20 апр 2006
    Сообщения:
    239
    Симпатии:
    0
    Не, этот вариант тоже не работает..:( Вот...эээ...код..:roll:
    Так можно писать !preg_match_all('/^[a-zA-Z0-9]$/', $_POST["rubaddfolder"], $out, PREG_SET_ORDER); ?
    PHP:
    1. <?
    2. switch($_GET["rubric"]) {
    3. case "add":
    4. echo '
    5. <div class="newsnew">Добавить рубрику</div>
    6. <input type="rubric" name="rubaddname" value="Имя рубрики" />
    7. <input type="rubric" name="rubaddfolder" value="Имя папки (только английскими буквами)" />
    8. <input type="submit" name="rubricsub" class="submit" value="Добавить" />';
    9.  
    10. if($_POST["rubricsub"] and (!empty($_POST["rubaddname"]) and filesize("rubric.dat") == 0) and ($_POST["rubaddname"] != "Имя рубрики" and $_POST["rubaddfolder"] != "Имя папки (только английскими буквами)") and (preg_match_all('/^[a-zA-Z0-9]$/', $_POST["rubaddfolder"], $out, PREG_SET_ORDER)) === true) {
    11.  
    12. echo '<div class="add">Ok. Rubric is add. :)</div>';
    13. $add = array($_POST["rubaddname"] => $_POST["rubaddfolder"]);
    14. file_put_contents("rubric.dat", serialize($add));
    15. mkdir('news/'.$_POST["rubaddfolder"], 0755) or die('error!!!');
    16.  
    17. }
    18. if($_POST["rubricsub"] and (!empty($_POST["rubaddname"]) and filesize("rubric.dat") != 0) and ($_POST["rubaddname"] != "Имя рубрики" and $_POST["rubaddfolder"] != "Имя папки (только английскими буквами)") and preg_match_all('/^[a-zA-Z0-9]$/', $_POST["rubaddfolder"], $out, PREG_SET_ORDER) === true) {
    19.  
    20. echo '<div class="add">Ok. Rubric is add. :)</div>';
    21. $get = unserialize(file_get_contents("rubric.dat"));
    22. array_push($get, $_POST["rubaddname"], $_POST["rubaddfolder"]);
    23. file_put_contents("rubric.dat", serialize($get));
    24. mkdir('news/'.$_POST["rubaddfolder"], 0755) or die('error!!!');
    25.  
    26. }
    27. if($_POST["rubricsub"] and (empty($_POST["rubaddname"]) and filesize("rubric.dat") == 0) and ($_POST["rubaddname"] == "Имя рубрики" or $_POST["rubaddfolder"] == "Имя папки (только английскими буквами)") and (preg_match_all('/^[a-zA-Z0-9]$/', $_POST["rubaddfolder"], $out, PREG_SET_ORDER)) === false) {
    28.  
    29. echo '<div id="error">Незаполненны поля формы или имя папки введено неверно :(</div>';
    30.  
    31. }
    32. if($_POST["rubricsub"] and (empty($_POST["rubaddname"]) and filesize("rubric.dat") != 0) or $_POST["rubaddname"] == "Имя рубрики" or $_POST["rubaddfolder"] == "Имя папки (только английскими буквами)" and (preg_match_all('/^[a-zA-Z0-9]$/', $_POST["rubaddfolder"], $out, PREG_SET_ORDER)) === false) {
    33.  
    34. echo '<div id="error">Незаполненны поля формы или имя папки введено неверно :(</div>';
    35.  
    36. }
    37. break;
    38.  
    39. }
    40. ?>
     
  5. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    PHP:
    1. <?php
    2. if (preg_match ('/^[a-zA-Z0-9]$/', $_POST["rubaddfolder"]))
    3. {
    4.     // OK
    5. }
    6. else
    7. {
    8.     // NOK
    9. }
    10. ?>
     
  6. eduha

    eduha Активный пользователь

    С нами с:
    8 ноя 2006
    Сообщения:
    278
    Симпатии:
    0
    Адрес:
    Караганда
    Небольшая поправка. /^[a-zA-Z0-9]+$/
     
  7. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    eduha
    да, точно