За последние 24 часа нас посетили 41892 программиста и 1813 роботов. Сейчас ищут 1707 программистов ...

проверка входит ли символы в строку

Тема в разделе "PHP для новичков", создана пользователем mbb, 5 авг 2017.

  1. mbb

    mbb Новичок

    С нами с:
    29 июл 2017
    Сообщения:
    25
    Симпатии:
    0
    Помогите написать проверку входит ли символы в строку. Символы
    Код (Text):
    1. . , ? ! ` " ' -
    Спасибо.
     
  2. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    например strpos в цикле
     
  3. mbb

    mbb Новичок

    С нами с:
    29 июл 2017
    Сообщения:
    25
    Симпатии:
    0
    а как проверить сразу по всем символам, а не по одному ?
     
  4. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    Ну можно так..
    PHP:
    1.     $string = 'sssssss.ssssssssss';
    2.     if (stripos($string, '.') || stripos($string,',') || stripos($string,'?') || stripos($string,'!') || stripos($string,'`') || stripos($string,'"') || stripos($string,'\'') || stripos($string,'-')) {
    3.         echo "Символы найдены";
    4.     }
     
  5. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    stripos нельзя так юзать, ибо он ноль может вернуть, его только === .

    Более универсально будет загнать проверяемые символы в массив и проверять в цикле:
    PHP:
    1. $symbols = array('.', ',', '?', '!', '`', '"', '\'', '-');
    2. foreach($symbols as $symbol){
    3.     if(stripos($string, $symbol) !== false){
    4.         echo"Символы найдены";
    5.         break;
    6.     }
    7. }
     
  6. Васяня

    Васяня Активный пользователь

    С нами с:
    2 окт 2016
    Сообщения:
    238
    Симпатии:
    32
    Адрес:
    Россия, Приморский край, г. Находка.
    Слегка компактней:
    Код (PHP):
    1. preg_match('/[\.,\?!`"\'\-]/', $you_str) === 1
     
  7. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @mbb
    PHP:
    1. <?php
    2. if ( isset ($_POST['verification'] ) )
    3. {
    4. if ( empty ($_POST['user'] ) )
    5. {
    6. echo 'заполните поле';
    7. }
    8. else
    9. {
    10. echo 'Вы ввели: <span style="color: purple;">' . $_POST['user'].'</span><br>';
    11. }
    12. # Регулярка, хотя многие ее не любят
    13. if(preg_match("/^[.,?!`\"\'-]+$/", $_POST['user']))
    14. {
    15. echo 'Символ (<span style="color: red;">'.$_POST['user'].'</span>) входит в строку';
    16. }
    17. }
    18. ?>
    19.  
    20. <form method="POST">
    21. <input type="text" name="user">
    22. <input type="submit" name="verification">
    23. </form>
    Изящное решение, дальше допилишь если надо)
     
    #7 _ne_scaju_, 5 авг 2017
    Последнее редактирование: 5 авг 2017
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    извращенцы
     
  9. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @MouseZver
    Да не говори :D поставленная задача выполнена, вот и все :D
    Хотя думаю можно и короче было написать на много короче)
    Да я и форму прикрутил, даже не много стиля сделал :D