п;озволени знаци и букви само които аз съм написал

  • Автор Автор kWo_2
  • Начална дата Начална дата

kWo_2

Registered
Как да направя проверка, ако в дадена променлива няма изброените от мен знаци и сомволи и да изведе ерор. Да кажем, че могат да се пишат само
q,w,e,r,t,y,u,i,o,p,a,s,d,1,2,3
:)
 
Ето моето решение
Код:
<?php
$only = "qwertyuiopasd123";
$text = "tetqwertyuiopasd123";
$oar = str_split($only);
$tar = str_split($text);
$er = 0;
foreach($tar as $bukva){
if(!in_array($bukva, $oar)){
$er++;
}
}
if($er > 0){
echo "Непозволени символи";
}else{
echo "ok";
}
?>
ако има някой символ в$text който го няма в $only ще ти изведе Непозволени символи
 
Начинът на sorRy реших да използвам понеже мога да добавям и "/\", а иначе кой от двата варианта е по-удачен да се ползва и защо?
:)
 
Разлика май няма бог знае каква :) Зависи колко символа имаш добавени - с разделянето на стринга и цикъла може да ти бави кода ако са повечко.

Лично аз бих избрал регулярния израз, въпреки че в този им вид разликата не е особено голяма.
 
регулярния израз, но там не мога да добавя /\ като позволени символи
 
kWo_2 каза:
регулярния израз, но там не мога да добавя /\ като позволени символи
Може ;) Просто трябва да добавиш \ пред тях.
 
DownFall каза:
kWo_2 каза:
регулярния израз, но там не мога да добавя /\ като позволени символи
Може ;) Просто трябва да добавиш \ пред тях.


Warning: preg_match() [function.preg-match]: Compilation failed: missing terminating ] for character class at offset 34 in X:\xampp\htdocs\index.php on line 37
 
kWo_2 каза:
DownFall каза:
kWo_2 каза:
регулярния израз, но там не мога да добавя /\ като позволени символи
Може ;) Просто трябва да добавиш \ пред тях.


Warning: preg_match() [function.preg-match]: Compilation failed: missing terminating ] for character class at offset 34 in X:\xampp\htdocs\index.php on line 37

Мнението над това, което цитираш прочете ли го? ^^
 
Сега го видях. Работи и мисля него да използвам и имам последен въпрос, защо има три наклонени черти в края ///]

Защо са три :)
 
\ е "магически" символ в php. Съответно, за да го "блокираш" и кода да го разчете като обикновен символ поставяш отново \ пред него. В случая дори 2 - с 1 не става и плюе грешка, в което сам си се убедил :)
 

Back
Горе