На php 5.3 ошибка "Deprecated: Function ereg() is deprecated in ..." Заменил ereg() на mb_ereg(). Ошибка пропала, но скрипт не работает.
На php 5.2 ошибки "Deprecated: Function ereg() is deprecated in ..." нет, но скрипт не работает.
Кто-то подскажет в чем дело?
Вот код:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <html>
- <head><title>"ПОЛЕ ЧУДЕС"</title></head>
- <body><div align = 'center'>
- <?PHP
- $let_num = 16; // Количество возможных попыток (пусть будет пол-алфавита);
- "А","Б","В","Г","Д","Е","Ж","З","И","Й","К","Л","М","Н","О","П",
- "Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я");// наш массив-"алфавит";
- // из которых случайным образом будет выбрано слово,
- // которое игрок будет угадывать;
- }
- $word = $words[$word_number];// $word - короткий псевдоним для $words[$word_number];
- echo"<H1>"; /* Начинаем выводить загаданное слово
- (вместо еще "неугаданных" букв - у нас будет знак подчеркивания "_"),
- заодно проверяем, может оно уже отгадано; */
- $finished = 1; // Предположим, что это так (т.е. угадано) установкой флага $finished.
- if (ereg($word[$i], $letters)){ // Если $i-ю букву слова игрок уже "назвал" и она есть в загаданном слове,
- echo $word[$i]; // то выводим, ее на экран. (Тут $letters - множество "названных" букв);
- }
- else {
- echo "_"; // В противном случае выводим знак подчеркивания "_".
- $finished = 0; // Заодно отмечаем, что слово еще не отгадано.
- }
- }
- echo"</H1>";
- if ($finished){ // Если слово угадано, то появляется сообщение:
- echo "<BR><BR><I>ПОЗДРАВЛЯЕМ! ВЫ ВЫИГРАЛИ!</I><BR><BR>";
- echo "<A HREF=$PHP_SELF><IMG SRC=\"./play_again.jpg\"></A>"; /* Предлагаем игроку сыграть еще раз,
- нажав на кнопку с надписью "Сыграем еще?" ("кнопка" есть не что иное как картинка "play_again.jpg" в
- одном каталоге с нашем файлом pole_chudes.php). */
- }
- else { // Иначе (т.е. если слово еще не угадано), действуем так:
- $wrong = 0; // переменная $wrong у нас отвечает за количество неудачных попыток, т.е.
- // уже "названных" неправильных букв.
- foreach ($alphabet as $var) { // Перебираем все буквы алфавита (массив $alphabet),
- // при этом текущая буква помещается в переменную $var.
- $links .= "$var"; // то, сделаем ее "посещенной";
- }
- else { // в противном случае
- $links .= "$var"; // также сделаем ее "посещенной"
- $wrong++; // и учтем эту попытку при подсчете
- } // количества неудачных попыток.
- }
- else {
- $links .= "<A HREF=\"$PHP_SELF?letters=$letters$var&word_number=$word_number&last=$var\">$var</A> ";
- }
- }
- if ($wrong == $let_num) { // Если игрок превысил лимит попыток (т.е проиграл :( ),
- // так ему об этом и скажем:
- echo "<BR>НА ЭТОТ РАЗ ВАМ НЕ ПОВЕЗЛО!<BR><BR>";
- echo "СЛОВО, КОТОРОЕ ВЫ ТАК И НЕ УГАДАЛИ: \"$word\"<BR><BR>";
- echo "<A HREF=$PHP_SELF><IMG SRC=\"./play_again.jpg\"></A> "; // Опять предложим сыграть,
- // для реванша, так сказать.
- }
- else {
- // необходимо проверить, является ли она правильной. Т.е если переменная $last
- // присутствует в строке $word - нашем загаданном слове.
- echo "<BR><IMG SRC=\"./all_right.jpg\"><BR>"; // то появиться картинка с надписью
- // "Угадал!";
- }
- else {
- echo "<BR><IMG SRC=\"./try_again.jpg\"><BR>"; // если нет, то так и скажем "А вот и не угадал".
- }
- }
- echo "<BR><BR>";
- echo "ОСТАЛОСЬ ПОПЫТОК = ".($let_num-$wrong)."<BR>"; // без комментариев;
- echo "<BR>ПОЖАЛУЙСТА ВЫБЕРИТЕ БУКВУ:<BR><BR>";
- echo $links;
- }
- }
- ?>
- </div>
- </body>
- </html>