|
|
|
| помогите составить регулярку вида
текст(тут только русские буквы)_одна буква(русская буква большая).одна буква(русская буква большая ).
пробовал так не выходит
preg_match("/^[а-я]{1,20}_([А-Я]{1}\.[А-Я]{1}\.)$/m"); | |
|
|
|
|
|
|
|
для: bobo
(27.11.2009 в 19:56)
| | Покажите строку, к которой вы применяете это регулярное выражение. | |
|
|
|
|
|
|
|
для: Саня
(27.11.2009 в 21:54)
| | антонов_А.А.
все буквы русские | |
|
|
|
|
|
|
|
для: bobo
(27.11.2009 в 22:02)
| | Эта строка как раз подходит под указанное вами выражение.
<?
var_dump(preg_match("/^[а-я]{1,20}_([А-Я]{1}\.[А-Я]{1}\.)$/m", 'ппп_А.А.')); // int(1)
|
Может в вашей исходной строке в начале или конце есть пробелы? | |
|
|
|
|
|
|
|
для: Саня
(27.11.2009 в 22:19)
| | я сначала делаю trim , а потом проверяю, может с кодировкой проблемы? | |
|
|
|
|
|
|
|
для: bobo
(27.11.2009 в 22:25)
| | Может. | |
|
|
|
|
|
|
|
для: Саня
(27.11.2009 в 22:27)
| | но я прописывал windows 1251, делал все возможное с кодировкой и ничего не помогает. | |
|
|
|
|
|
|
|
для: bobo
(27.11.2009 в 22:29)
| | Какая исходная кодировка текста? | |
|
|
|
|
|
|
|
для: Саня
(27.11.2009 в 22:38)
| | та черт его знает, у меня denwer стоит, а как узнать? | |
|
|
|
|
|
|
|
для: bobo
(27.11.2009 в 19:56)
| | Прикрепите файл с кодом. | |
|
|
|
|
|
|
|
для: /|\';..;'/|\
(27.11.2009 в 22:40)
| | сама функция проверки
function fio($FIO)
{
if (!preg_match("/^[а-я]{1,20}_([А-Я]{1}\.[А-Я]{1}\.)$/m",$FIO))
{
echo '<center>Введите корректно Ф.И.О., вводить согласно шаблону <b>Фамилия_И.О.</b><br/>';
echo '<a href="javascript:history.go(-1);">Назад</a></center>';
exit;
}
}
|
сам код где ввожу данные
<?
//setlocale(LC_ALL, array('ru_RU.1251', 'rus_RUS.1251', 'Russian_Russia.1251'));
//header("Content-type:text/html;charset=windows-1251");
if(!isset($_POST['add_al']))
{
?>
<form action="" method="POST">
<center>
<table border="1" cellspacing="0" cellpadding="5">
<tr>
<td colspan="2" align="center"><b>Введите данные</b></td>
</tr>
<tr>
<td height="13" colspan="2" align="center"><font color="red">Все поля обязательны к заполнению</font></td>
</tr>
<?
include_once("tmp/function.php");
makes('ФИО','FIO');
makes('C++','cpp');
makes('ООП','oop');
makes('АЭВМ','aevm');
makes('БД','bd');
makes('МАН','man');
?>
</table></br>
<input style="background: url(tmp/png/add.png) no-repeat left;" name="add_al" type="submit" value=" Добавить альтернативу">
</form>
<br/><br/>
<a href=mas.php>Назад</a>
</center>
<?
}
else
{
$FIO=ucfirst(trim($_POST['FIO']));
include_once("tmp/function.php");
fio($FIO);
//$FIO=trim(preg_replace("/\s/","_",$_POST['FIO']));
$cpp=trim($_POST['cpp']);
$oop=trim($_POST['oop']);
$aevm=trim($_POST['aevm']);
$bd=trim($_POST['bd']);
$man=trim($_POST['man']);
include_once("tmp/function.php");
datas($cpp);
datas($oop);
datas($aevm);
datas($bd);
datas($man);
$cpp=(int)$cpp;
$oop=(int)$oop;
$aevm=(int)$aevm;
$bd=(int)$bd;
$man=(int)$man;
if(!empty($_POST['FIO']) && isset($_POST['cpp']) && isset($_POST['oop']) && isset($_POST['aevm']) && isset($_POST['bd']) && isset($_POST['man']))
{
$src = fopen('tmp/1.txt',"r");
while ( !feof($src) )
{
$mas[] = fgets($src,464564);
}
$t=sizeof($mas);
fclose($src);
$h = fopen("tmp/1.txt","a+");
$text = "$FIO C$t $cpp $oop $aevm $bd $man ";
if (fwrite($h,"\n$text"))
{
?><meta http-equiv='refresh' content='2; url=mas.php'><center><H3>Добавление произведено</H3></center><?
}
else
{
?><meta http-equiv='refresh' content='2; url=mas.php'><center><H3>Добавление не произведено</H3></center><?
}
fclose($h);
}
else
{
?><meta http-equiv='refresh' content='2; url=mas_add.php'><center><H3>Введены не все данные</H3></center><?
}
}
?>
|
| |
|
|
|
|
|
|
|
для: bobo
(27.11.2009 в 22:46)
| | > $FIO=ucfirst(trim($_POST['FIO']));
Тут проблема. Сами догадаетесь или подсказать? | |
|
|
|
|
|
|
|
для: /|\';..;'/|\
(27.11.2009 в 22:49)
| | подскажите | |
|
|
|
|
|
|
|
для: bobo
(27.11.2009 в 22:52)
| | ucfirst() переводит первый символ строки в верхний регистр. Ваше регулярное выражение не учитывает этого. | |
|
|
|
|
|
|
|
для: /|\';..;'/|\
(27.11.2009 в 22:54)
| | спасибо большое за участие, по своей глупости долго искал ошибку. | |
|
|
|