$test='1524';
if (!preg_match("/^\d{4}$/",$test)){
echo ("Строка не является сочетанием 4 цифр!");
} else{
echo("Строка является сочетанием 4 цифр!");
}
Выброс символов из строки
У новичка в PHP проблема. Имеется строка. Необходимо выбросить из неё ВСЕ символы кроме латинских букв, цифр и "/". Слышал, что это можно сделать регулярными выражениями или ещё как-то...
Заранее благодарен. Have a nice day.
Если проверить, то [phpdoc]ereg[/phpdoc]
Если выбросить то так:
Код:
$str="/sdf/sdf/234/sdf/ыва/sdf/34059^%**";
$newstr="";
for ($i=0;$i<strlen($str);$i++)
if (($str[$i]>='a' && $str[$i]<='z') ||
($str[$i]>='A' && $str[$i]<='Z') ||
($str[$i]>='0' && $str[$i]<='9') ||
($str[$i]=='/')) $newstr.=$str[$i];
$str=$newstr;
$newstr="";
for ($i=0;$i<strlen($str);$i++)
if (($str[$i]>='a' && $str[$i]<='z') ||
($str[$i]>='A' && $str[$i]<='Z') ||
($str[$i]>='0' && $str[$i]<='9') ||
($str[$i]=='/')) $newstr.=$str[$i];
$str=$newstr;
В лоб :) писал прямо тут. может не заработать сразу.
Большое спасибо. Работает. =)
Код:
$test='132 absd FGU / +_ - ';
$test=preg_replace("/[^a-zA-Z0-9\/]+/","",$test);
echo($test); //132absdFGU/
$test=preg_replace("/[^a-zA-Z0-9\/]+/","",$test);
echo($test); //132absdFGU/
Проверял, работает:)))
А не подскажете тогда, как в регулярном выражении выглядят четыре цыфры подряд. То есть проверить является ли строка сочетанием четырёх цифр вида "1234".
Если не трудно, киньте в меня мануалом по регулярным выражениям, а то ничего подходящего найти не могу.
http://detail.phpclub.net/article/regexp_1
http://detail.phpclub.net/article/regexp_2
то, что тебе нужно делается так:
Код:
Регулярные выражения - сила:)