1 / 1 / 0
Регистрация: 16.02.2013
Сообщений: 41

Функция eregi устарела

21.09.2013, 07:32. Показов 2066. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте дорогие PHP знатоки. Прошу вас, мне помочь (с меня спасибо). Есть своего рода код:
PHP
1
2
3
if(isset($_GET[page]) && eregi("^[1-9]\$",$_GET[page])){
        $page=$_GET[page];
    } else { $page=1; }
- это вывод URL для постраничной навигации. Весь код, смысла скидывать нет, т.к ошибка: Deprecated: Function eregi() is deprecated in Z:\home\einstein\www\_files\modules\chat \chat.php on line 8. Восьмая строка это как раз таки
PHP
1
if(isset($_GET[page]) && eregi("^[1-9]\$",$_GET[page]))
, а именно сам
PHP
1
eregi("^[1-9]\$",$_GET[page])
. Прочитал на оф. сайте об eregi, функция устарела. Что мне за место неё использовать? Я не понимаю принцип вот этого ^[1-9]\$.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.09.2013, 07:32
Ответы с готовыми решениями:

eregi
Конструкция такова, должна в зависимости от содержания отсылать сообщение на разные email. Выдаёт ошибку . if (!eregi('^+@+\.+$',...

eregi на preg_match()
есть такая строка (eregi("^(http|https|ftp|telnet|news|gopher|file|wais)://++(?)+\.{2,4}", $st)) надо ее переделать под...

Сменить eregi на preg_match
Подскажите пожалуйста, пытаюсь заменить eregi на preg_match, но че-то не получается... !eregi('^((+):)', $newstring) ...

7
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
21.09.2013, 08:23
PHP
1
preg_match("/^[1-9]\$/i",$_GET[page])
хотя в данном случае вряд ли модификатор i нужен, так как это поиск цифр, но раз функция именно eregi, то на случай если где то ещё будите менять и там есть буквы, то может пригодиться данный модификатор

Добавлено через 57 секунд
хм... а страницы с номер 10 быть не может?
1
1 / 1 / 0
Регистрация: 16.02.2013
Сообщений: 41
21.09.2013, 08:51  [ТС]
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
PHP
1
preg_match("/^[1-9]\$/i",$_GET[page])
хотя в данном случае вряд ли модификатор i нужен, так как это поиск цифр, но раз функция именно eregi, то на случай если где то ещё будите менять и там есть буквы, то может пригодиться данный модификатор

Добавлено через 57 секунд
хм... а страницы с номер 10 быть не может?
Только что проверил, нет страница 10 выводит начальные комментарии. Вообщем не работает 10 страница. А что ты предлагаешь?
0
 Аватар для TAB
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
21.09.2013, 08:56
У Вас в строке запроса такой формат: page=1$, page=2$, .., page=9$?
1
1 / 1 / 0
Регистрация: 16.02.2013
Сообщений: 41
21.09.2013, 09:00  [ТС]
Цитата Сообщение от TAB Посмотреть сообщение
У Вас в строке запроса такой формат: page=1$, page=2$, .., page=9$?
Короче вот весь код чата:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
require_once('config.php');
switch($_GET['mod']){
    default:
    $msg = 4; //сообщении нa cтpaницe
    $file = @file(ROOT.'_files/modules/chat/chat.dat');
    $file = @array_reverse($file);
    if(isset($_GET[page]) && eregi("^[1-9]\$",$_GET[page])){
        $page=$_GET[page];
    } else { $page=1; }
    $sp = $msg*$page;
    $minus = $sp-$msg;
    $count = count($file);
    echo '<div class="up-chat"><b><a href="index.php?mod=add">Написать </a>|<a href="'.$url.'?rand='.$rand.'"> Обновить</a></b></div>';
    for($i=$minus; $i<$sp && $i<$count; $i++) {
        $a = explode("|",$file[$i]);
        $a[1] = str_replace(':)','<img src="_files/modules/chat/smile/smile.gif" alt=":)">',$a[1]);
        $a[1] = str_replace(':(','<img src="_files/modules/chat/smile/sad.gif" alt=":(">',$a[1]);
        $a[1] = str_replace(':D','<img src="_files/modules/chat/smile/lol.gif" alt=":D">',$a[1]);
        $a[1] = str_replace(';)','<img src="_files/modules/chat/smile/hay.gif" alt=";)">',$a[1]);
        $a[1] = str_replace('8-)','<img src="_files/modules/chat/smile/man.gif" alt="8-)">',$a[1]);
        $a[1] = str_replace(':-*','<img src="_files/modules/chat/smile/kiss.gif" alt=":-*">',$a[1]);
        $a[1] = str_replace('<script>','[нифига]',$a[1]);
        $a[1] = str_replace('</script>','[нифига]',$a[1]);
        $a[1] = str_replace('.ru','[реклама]',$a[1]);
        $a[1] = str_replace('.net','[реклама]',$a[1]);
        $a[1] = str_replace('.org','[реклама]',$a[1]);
        $a[1] = str_replace('.tk','[реклама]',$a[1]);
        $a[1] = str_replace('.com','[реклама]',$a[1]);
        $a[1] = str_replace('.us','[реклама]',$a[1]);
        $a[1] = str_replace('.ру','[реклама]',$a[1]);
        $a[1] = str_replace('.ком','[реклама]',$a[1]);
        $a[1] = str_replace('.тк','[реклама]',$a[1]);
        $a[1] = str_replace('.RU','[реклама]',$a[1]);
        $a[1] = str_replace('.COM','[реклама]',$a[1]);
        $a[1] = str_replace('.NET','[реклама]',$a[1]);
        $a[1] = str_replace('.TK','[реклама]',$a[1]);
        $a[1] = str_replace('.org.ua','[реклама]',$a[1]);
        $a[1] = str_replace(',ru','[реклама]',$a[1]);
        $a[1] = str_replace(',org,ua','[реклама]',$a[1]);
        $a[1] = str_replace('.ua','[реклама]',$a[1]);
        $a[1] = str_replace(',tk','[реклама]',$a[1]);
        $a[1] = str_replace(',net','[реклама]',$a[1]);
        $a[1] = str_replace(',com','[реклама]',$a[1]);
        if(count(file(ROOT.'_files/modules/chat/chat.dat')) == 0) {
            $msg_chat = 'В чате пока нет сообщений!';
            echo $msg_chat;
        }
        echo '['.$a[2].']<b>'.$a[0].'</b> » <font color="#000000">'.$a[1].'</font><br>';
    }
    if($page>1) print '<a href="index.php?page='.($page-1).'">Haзaд</a> | ';
    if(count($file)>$sp) print'<a href="index.php?page='.($page+1).'">Впepeд</a> | ';
    break;
    case 'add':
        echo '<div class="up-chat"><b>Добавление сообщения</b></div>';
        echo '<div class="chat_add"><form action="index.php?mod=ok" method="POST"><textarea placeholder="Максимум 100 символов!" class="textarea-chat" name="mess" maxlength="100"></textarea><div style="text-align:center;"><input class="chat_mbutton" type="submit" value="Cкaзaть"><a href="_files/modules/chat/smile.php" class="chat_list_smile">Список смайлов</a></div></form></div>';
    break;
    case 'ok':
        $nick = $_SESSION['user'];
        $mess = htmlspecialchars($_POST[mess]);
        $nicklen = strlen($nick);
        $messlen = strlen($mess);
        $date = date("H:i:s");
        $nick = str_replace("|","",$nick);
        $mess = str_replace("|","",$mess);
        $msg = "$nick|$mess|$date\n";
        $fp = @fopen(ROOT."_files/modules/chat/chat.dat","a");
        if(empty($nick)) { 
            $msg_chat = '<div class="chat_error">Вы не авторизированы!<br>» <b><a href="'.$url.'">В чaт</a></b></div>';
            echo $msg_chat;
            break; 
        } elseif($messlen<2 or $messlen>100){ 
            $msg_chat = '<div class="chat_error">Cлишкoм длиннoe или кopoткoe cooбщeниe!<br>» <b><a href="'.$url.'">В чaт</a></b></div>'; 
            echo $msg_chat;
            break; 
        } elseif(fputs($fp,htmlspecialchars($msg))) {
                echo '<div class="chat_ok">Cпacибo <b>'.$nick.'</b>! Ваше сообщение успешно добавлено. <br>» <b><a href="'.$url.'">В чaт</a></b></div>';
                fclose($fp);
            }       
        fopen(ROOT."_files/modules/chat/chat.dat","a");
        @chmod("chat.dat",0666);
    break;
}
?>
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
21.09.2013, 09:05
там наверное надо что то типа "/^\d+$/"
1
 Аватар для TAB
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
21.09.2013, 09:06
Понятно!
PHP
1
2
3
4
if ( isset($_GET['page']) && preg_match("/^[2-9]\d*$/", $_GET['page']) )
    $page = $_GET['page'];
else
    $page = 1;
1
1 / 1 / 0
Регистрация: 16.02.2013
Сообщений: 41
21.09.2013, 09:23  [ТС]
Спасибо конечно, я решил переписать чат, ибо постраничный чат это тупо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.09.2013, 09:23
Помогаю со студенческими работами здесь

Замена eregi() на preg_match()
Всем привет, нужно перевести функцию eregi(), в preg_match(), постоянно возникают проблемы с синтаксисом и тд, хотя и разделители правильно...

Ф-ция eregi выдает ошибку
У меня переменная $email методом $_POST принимает значение email адреса с формы. Решил сделать проверку. Рег.выр. начал учить...

Each() устарела, а чем заменить не сказали
сабж

Функция std::copy устарела?
Вот код функции. struct CLASS::SdpOpaque {using Vector = std::vector&lt;uint8_t&gt;; Vector data; Vector::iterator pos;}; int...

Предупреждение W1000 (Функция 'Resume' устарела)
begin if Assigned(FOnChange) then begin FThread := TShellChangeThread.Create(FOnChange); // Создать новый поток ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru