swipeshot
@swipeshot
Учусь на ошибках.

Как переписать этот говнокод?

Здравствуйте. Как можно переписать этот говнокод? Можно примеры?

<?php

$mystring = mb_strtolower($_POST['text']);
	
	$findme   = "1";
	$pos1 = strpos($mystring, $findme);
	$findme   = "2";
	$pos2 = strpos($mystring, $findme);
	$findme   = "3";
	$pos3 = strpos($mystring, $findme);
	
	
	if ($pos1 === false or $pos2 === false or $pos3 === false) {
	echo "OK";
	}
	else{
	echo "Ошибка";
	}
  • Вопрос задан
  • 303 просмотра
Решения вопроса 2
SagePtr
@SagePtr
Еда - это святое
По сути, там проверяется, содержит ли строка символы 1, 2 или 3.
$mystring = mb_strtolower($_POST['text']);
if (!preg_match("/[123]/u", $mystring)){
  echo "OK";
} else {
  echo "Ошибка";
}
Ответ написан
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Регулярки нагружают сервер, не то чтобы слишком, но я считаю, что не нужно их юзать, когда можно пойти другим легким путем:

function if_str($str, $arr){
   foreach($arr as $val){
      if(substr($str, $val)!==false){
          return true;
      }
   }
   return false;
}

if(if_str("1234545", array(1, 2, 3))){
   echo "OK";
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы