hohol
Новичок
Регулярные выражения (posix)
Нужно что-бы в тексте [слово] менялось на $другое_слово
Файл errors.php:
Вызов функции:
Результат:
0 login $login
1 email $email
2 icq $icq
3 ulogin $ulogin
4 stalker_name $stalker_name
Логин [login] занят. //по идее здесь вместо [login] должно быть $login
Подскажите пожалуйста а то я голову уже сломал
Применяемое регулярное выражение "\[".$ak[$i]."\]"
-~{}~ 01.11.09 22:00:
Ну хоть кто-нибудь помогите!
Все мануалы перерыл - ничего не помогает.
Нужно что-бы в тексте [слово] менялось на $другое_слово
Файл errors.php:
PHP:
<?php
$GLOBALS['error[1]']="Неверный пароль";
$GLOBALS['enter']="Войти";
$GLOBALS['error[2]']="Таблица пуста";
$GLOBALS['error[3]']="Введён неверный код.";
$GLOBALS['error[4]']="Логин [login] занят.\n";
$GLOBALS['error[5]']="Почтовый адрес [email] занят.\n";
$GLOBALS['error[6]']="Номер icq [icq] занят.\n";
$GLOBALS['registred']="Регистрация прошла успешно.<a href=./users.php>На главную</a>";
$GLOBALS['register']="Зарегистрироваться";
$GLOBALS['formselector']="<pre>\n\n\n\n\n\n<center>: <a href=\"./users.php?form=aut\">Войти в игру</a> :\n: <a href=\"./users.php?form=reg\">Зарегистрироваться</a> :";
$GLOBALS['error[7]']="Недопустимый пароль!";
$GLOBALS['error[8]']="Недопустимый e-Mail!";
$GLOBALS['error[9]']="Недопустимый номер ICQ!";
$GLOBALS['error[10]']="Недопустимый Логин!";
$GLOBALS['error[11]']="У вас есть живой сталкер.\n Вы не можете создавать сталкеров пока у вас есть живые сталкеры!";
$GLOBALS['title[1]']="<center><pre><h4>Добро пожаловать в систему игры S.T.A.L.K.E.R.\n</h4>";
$GLOBALS['title[2]']='<h5>Вы авторизованы под именем [ulogin]\n</h5>';
$GLOBALS['no_one_stalker']="<center>Вы не зарегистрировали ни одного сталкера.";
$GLOBALS['all_stalkers_dead']='<center>Все ваши сталкеры мертвы. Последний : [stalker_name] умер в [dtime] по причине \"[dreason]\".\nОбратитесь к Игротехнику.';
$GLOBALS['error[13]']="В таблице нет живых сталкеров!";
$GLOBALS['error[14]']="";
$GLOBALS['error[15]']="";
//теги замещения
//$GLOBALS['rebuild']['заключённое_ в_[]_слово_для_замены']='замена';
$GLOBALS['rebuild']['login']='$login';
$GLOBALS['rebuild']['email']='$email';
$GLOBALS['rebuild']['icq']='$icq';
$GLOBALS['rebuild']['ulogin']='$ulogin';
$GLOBALS['rebuild']['stalker_name']='$stalker_name';
$GLOBALS['rebuild']['dtime']='$dtime';
$GLOBALS['rebuild']['dreason']='$dreason';
function rebuild($text)
{
$ak=array_keys($GLOBALS['rebuild']);
for($i=0;$i<count($GLOBALS['rebuild'])-2;$i++)
{
echo "<pre>$i ".$ak[$i]." ".$GLOBALS['rebuild'][$ak[$i]]."\n";
$txt=eregi_replace("\[".$ak[$i]."\]",$GLOBALS['rebuild'][$ak[$i]],$text); //замены не происходит
}
return $txt;
}
?>
PHP:
$err=$err.rebuild($GLOBALS['error[5]']);
echo $err;
0 login $login
1 email $email
2 icq $icq
3 ulogin $ulogin
4 stalker_name $stalker_name
Логин [login] занят. //по идее здесь вместо [login] должно быть $login
Подскажите пожалуйста а то я голову уже сломал
Применяемое регулярное выражение "\[".$ak[$i]."\]"
-~{}~ 01.11.09 22:00:
Ну хоть кто-нибудь помогите!
Все мануалы перерыл - ничего не помогает.