1. PHP / Говнокод #19082

    +4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function checkRus($str)
    {
    	$result = true;
    	$eng = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
    	for ($i = 0; $i < strlen($str); $i++) {
    		if (in_array($str[$i], $eng)) {
    			$result = false;
    			break;
    		}
    	}
    	return $result;
    }

    Проверка на "русскость" строки

    Запостил: foreign, 25 Ноября 2015

    Комментарии (29) RSS

    • Чел забыл ещё вставить 100500 символов, включая символы емоджи :)
      Ответить
      • ありがとうございます!
        Ответить
        • ليس من الضروري ذلك بفضل
          Ответить
          • دراجة الله
            Ответить
            • <img src="http://img0.joyreactor.cc/pics/post/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0% BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D 0%BD%D0%B8%D0%B5-%D0%BA%D0%BE%D1%81%D1%82%D1%8B%D0%BB%D1% 8C-%D0%B1%D0%B0%D0%B3%D0%B8-%D0%B2%D0%B5%D0%BB%D0%BE%D1%81%D0%B8%D0% BF%D0%B5%D0%B4-2189373.jpeg"/>
              Ответить
              • Нельзя вставить картинку(
                Ответить
                • да и ссылка на картинку кривая(
                  Ответить
                  • Если пробелы убрать, работает. Вот репост:
                    http://i.imgur.com/Y71Uqz6.jpg

                    P.S. Оригинальная ссылка:
                    http://joyreactor.cc/post/2033254
                    Ответить
        • А вдруг там цп1251?
          Ответить
          • Такого не буває!
            Ответить
          • Обычно либо KOI8-R либо CP1252 попадаются)
            Ответить
            • В 1252 нет кириллицы. А 1251, увы, до сих пор есть на некоторых сайтах.

              Вконтакте иногда почему-то отдаёт страницу не в UTF-8, а в 1251, а все эмодзи и алфавиты других языков передаёт в виде кодов (амперсанд и шестнадцатеричный код символа).
              Ответить
              • Может для мобильных клиентов с медленным интернетом. тогда имеет смысл.
                Ответить
                • Вася, ты опять хуйцов пересосал? Одна сраная картинка весит больше, чем весь текст на странице.
                  Ответить
                  • А ещё многие браузеры и сервера поддерживают сжатие (deflate c gzip-заголовком или без) на лету.
                    Ответить
                    • ну я как вариант предположил. Другой разумной причины не придумал. Хотя хер знает что за говнище в этом вконтакте пишут.
                      Ответить
                      • У меня другая гипотеза: там белый список браузеров (с точным указанием номеров версий). Если User-Agent не из этого списка, то браузер считается устаревшим и для него страница генерируется через жопу.
                        Ответить
                • Нет. Как раз для мобильных всегда UTF-8 (XHTML Mobile других кодировок и не предполагает).
                  Ответить
                • А может это просто взбесившийся шаблонизатор, у которого все шаблоны случайно в разных кодировках.
                  @include_once("../../../../baza_dannyh.php") or die("Baza dannyh offline");
                  Ответить
    • Мало того, что проверка говно, так ещё и хуиту с $result сотворил.
      Ответить
      • А что с ним не так? Даже тип один, что в пыхомирке редкость.
        Ответить
        • Да, в пыхомирке «логическая» функция может возвращать ещё null, 0, '0' и 'false' по приколу, причём все они не равны false.
          Ответить
          • В руби проще - там кроме false и nil - все истина
            Ответить
          • поэтому через == никто результат не сравнивает юзают или empty или === в редких случаях is_null
            Ответить
        • function checkRus($str)
          {
          	$eng = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
          	for ($i = 0; $i < strlen($str); $i++) {
          		if (in_array($str[$i], $eng)) {
          			return false;
          		}
          	}
          	return true;
          }
          Ответить
    • А самое главное:
      Строка: ASDFG - русская :)

      checkRus('asdfg') //false
      checkRus('ASDFG') //true
      Ответить

    Добавить комментарий