Перейти к содержимому

Eregi php чем заменить

  • автор:

mb_eregi_replace

Сканирует строку string для поиска совпадений с pattern , затем заменяет совпавший текст на replacement .

Список параметров

Шаблон регулярного выражения. Могут использоваться многобайтовые символы. Регистр будет игнорироваться.

Строка ( string ) для поиска.

options Опция поиска. Подробнее смотрите mb_regex_set_options() .

Возвращаемые значения

Результирующая строка ( string ) в случае успешного выполнения или false в случае возникновения ошибки. Если string не является корректной строкой для текущей кодировки, будет возвращено null .

Список изменений

Версия Описание
8.0.0 Параметр options теперь может принимать значение null .
7.1.0 Функция проверяет, является ли string корректной строкой для текущей кодировки.
7.1.0 Модификатор e объявлен устаревшим.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding() .

Внимание

Никогда не используйте модификатор e при работе с данными, полученными из недостоверных источников. Не выполняется никакого автоматического экранирования этих данных (в отличие от preg_replace() ). Игнорирование этих требований, скорее всего, создаст уязвимость выполнения удалённого кода в приложении.

Смотрите также

  • mb_regex_encoding() — Устанавливает/получает текущую кодировку для многобайтового регулярного выражения
  • mb_ereg_replace() — Осуществляет замену по регулярному выражению с поддержкой многобайтовых кодировок

User Contributed Notes 3 notes

11 years ago

To highlight words in multi-byte text:

$s = ‘Алабала’ ;
$f = ‘а’ ;
echo preg_replace ( ‘/(‘ . $f . ‘)/iu’ , ‘$1‘ , $s );
?>

15 years ago

Transliterator for cyrillic-to-latin letters for UTF chars:

function do_translit ( $st ) <
$replacement = array(
«й» => «i» , «ц» => «c» , «у» => «u» , «к» => «k» , «е» => «e» , «н» => «n» ,
«г» => «g» , «ш» => «sh» , «щ» => «sh» , «з» => «z» , «х» => «x» , «ъ» => «\'» ,
«ф» => «f» , «ы» => «i» , «в» => «v» , «а» => «a» , «п» => «p» , «р» => «r» ,
«о» => «o» , «л» => «l» , «д» => «d» , «ж» => «zh» , «э» => «ie» , «ё» => «e» ,
«я» => «ya» , «ч» => «ch» , «с» => «c» , «м» => «m» , «и» => «i» , «т» => «t» ,
«ь» => «\'» , «б» => «b» , «ю» => «yu» ,
«Й» => «I» , «Ц» => «C» , «У» => «U» , «К» => «K» , «Е» => «E» , «Н» => «N» ,
«Г» => «G» , «Ш» => «SH» , «Щ» => «SH» , «З» => «Z» , «Х» => «X» , «Ъ» => «\'» ,
«Ф» => «F» , «Ы» => «I» , «В» => «V» , «А» => «A» , «П» => «P» , «Р» => «R» ,
«О» => «O» , «Л» => «L» , «Д» => «D» , «Ж» => «ZH» , «Э» => «IE» , «Ё» => «E» ,
«Я» => «YA» , «Ч» => «CH» , «С» => «C» , «М» => «M» , «И» => «I» , «Т» => «T» ,
«Ь» => «\'» , «Б» => «B» , «Ю» => «YU» ,
);

foreach( $replacement as $i => $u ) <
$st = mb_eregi_replace ( $i , $u , $st );
>
return $st ;
>
?>

12 years ago

when trying to find a way to strip newline from a multibyte UTF-8 string i got to this function just to discover later that POSIX don’t «do» newline so i can’t strip them, examples of what i tried are : \r\n , \\r\\n , (\\r\\n) (\\r|\\n)

and got no result
so since i wanted something like mb_nl2br() that’s simple i wrote this little recursive function for UTF-8:

function mb_str_replace ( $find , $replace ,& $str )
<
$i = mb_strpos ( $str , $find , 0 , «UTF-8» );
if ( $index === false )
$str = mb_substr ( $str , 0 , $i ). $replace . mb_substr ( $str , $i + mb_strlen ( $find , «UTF-8» ), mb_strlen ( $str , «UTF-8» ));
$this -> mb_str_replace ( $find , $replace , $str );
>
?>

note: moderate unit tesing was done, changed to other encodings

  • Функции для работы с многобайтовыми строками
    • mb_​check_​encoding
    • mb_​chr
    • mb_​convert_​case
    • mb_​convert_​encoding
    • mb_​convert_​kana
    • mb_​convert_​variables
    • mb_​decode_​mimeheader
    • mb_​decode_​numericentity
    • mb_​detect_​encoding
    • mb_​detect_​order
    • mb_​encode_​mimeheader
    • mb_​encode_​numericentity
    • mb_​encoding_​aliases
    • mb_​ereg_​match
    • mb_​ereg_​replace_​callback
    • mb_​ereg_​replace
    • mb_​ereg_​search_​getpos
    • mb_​ereg_​search_​getregs
    • mb_​ereg_​search_​init
    • mb_​ereg_​search_​pos
    • mb_​ereg_​search_​regs
    • mb_​ereg_​search_​setpos
    • mb_​ereg_​search
    • mb_​ereg
    • mb_​eregi_​replace
    • mb_​eregi
    • mb_​get_​info
    • mb_​http_​input
    • mb_​http_​output
    • mb_​internal_​encoding
    • mb_​language
    • mb_​list_​encodings
    • mb_​ord
    • mb_​output_​handler
    • mb_​parse_​str
    • mb_​preferred_​mime_​name
    • mb_​regex_​encoding
    • mb_​regex_​set_​options
    • mb_​scrub
    • mb_​send_​mail
    • mb_​split
    • mb_​str_​pad
    • mb_​str_​split
    • mb_​strcut
    • mb_​strimwidth
    • mb_​stripos
    • mb_​stristr
    • mb_​strlen
    • mb_​strpos
    • mb_​strrchr
    • mb_​strrichr
    • mb_​strripos
    • mb_​strrpos
    • mb_​strstr
    • mb_​strtolower
    • mb_​strtoupper
    • mb_​strwidth
    • mb_​substitute_​character
    • mb_​substr_​count
    • mb_​substr
    • Copyright © 2001-2024 The PHP Group
    • My PHP.net
    • Contact
    • Other PHP.net sites
    • Privacy policy

    Eregi php чем заменить

    В PHP 5.3 разработчки решили, наконец, избавиться от POSIX регулярных выражений — в самом деле, зачем нужны две библиотеки для работы с регулярными выражениями, если можно обойтись одной? К тому же, POSIX регулярные выражения гораздо медленнее чем Perl совместимые регулярные выражения (PCRE).

    Теперь, разработчики в срочном порядке исправляют свой код, заменяя функции ereg, eregi, ereg_replace, ereg_replacei соответствующими PCRE аналогами, благо, замена получилась довольно простой:

    1. заменить ereg и eregi на preg_match, ereg_replace и ereg_replacei на preg_repalce;
    2. добавить // разделители в начало и конец регулярного выражения;
    3. если POSIX функция кончается на i (eregi, ereg_replacei) то добавить i в конец регулярного выражения после разделителя.
    4. заменить POSIX спецсимволы соответствуюущими PCRE аналогами : [:alnum:] — \w или [0-9a-z], [:digit:] — \d или [0-9], [:space:] — \s, [:alpha:] — [a-z]

    Upd: оказывается шаг четвертый не обязателен — спецсимволы типа [[:alnum:]] теперь поддерживаются в PCRE!

    комментарии:

    Вит (анонимный пользователь) | 2011-01-03

    классный у тебя сайт)))

    Никита (анонимный пользователь) | 2011-03-26

    Спасибо, вы очень мне помогли! 🙂

    Олег (анонимный пользователь) | 2011-05-11

    Спасибо. Для меня, как ничего не понимающего в php, здорово помогло.))))

    Luden (анонимный пользователь) | 2011-05-16

    Спасибо! Предельно ясно написано!

    Роман (анонимный пользователь) | 2011-05-25

    Подскажите пожалуйста, переписываю скрипт с этими изменениями и выскакивает ошибка.

    Прежняя строка выглядела так:

    if( ereg( $sVariable.»\[‘».$sKey.»‘\]», $aFile[$i] ) && ereg( ‘=’, $aFile[$i] ) )

    Новая строка, в соответствии с тем, что Вы написали стала такой:

    if( preg_match($sVariable.’/\[‘/’.$sKey.’/’\]’/, $aFile[$i] ) && preg_match( ‘/=/’, $aFile[$i] ) )

    Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in W:\home\test1.ru\www\shop\core\common-admin.php on line 117

    Что делать? Помогите, пожалуйста.

    max | 2011-05-25

    >Подскажите пожалуйста, переписываю скрипт с этими изменениями и выскакивает ошибка.

    Думаю, должно быть что то вроде:

    if(preg_match(«/».$sVariable.»\[‘».$sKey.»‘\]/», $aFile[$i]) && preg_match(‘/=/’, $aFile[$i]))

    Хотя, я бы вообще не использовал тут регулярные выражения — в данном случае задача сводится к тривиальному поиску подстроки в строке, а для этого использовать регулярные выражения слишком кудряво, лучше и быстрее будет использовать функцию strpos:

    if (strpos($aFile[$i],$sVariable.»[‘».$sKey.»‘]»)!==false && strpos($aFile[$i], ‘=’)!==false )
    Роман (анонимный пользователь) | 2011-05-26

    Спасибо огромное! Помогло!

    Костя (анонимный пользователь) | 2011-08-03

    Спасибо — помогло перейти с ereg на preg_match

    Трудорг (анонимный пользователь) | 2011-10-31
    Валерий (анонимный пользователь) | 2011-10-31

    ну, наконец-то нашел. Пожалуёста, помогите. Сайт стоит на сревере, выдается ошибка — обновили РНР они. Писбма с сервера через сайт не идут (например, сообщение о комментарии)

    function check_uri($uri) if (ereg(«@»,$uri)) $uri=»mailto:».$uri;
    >
    return $uri;
    >

    Нисколько не понимаю в РНР. буду очень признателен — с меня ссылка на Ваш блог)

    max | 2011-11-01

    Я бы сделал вот так:

    function check_uri($uri) if (strpos($uri,»@»)!==false) $uri=»mailto:».$uri;
    >
    return $uri;
    >

    Валерий (анонимный пользователь) | 2011-11-01
    Михаил По (анонимный пользователь) | 2012-01-08

    Спасибо, помогло. Ещё ссылка по теме: http://www.pcre.ru

    Ирек Минигулович (анонимный пользователь) | 2012-02-17

    помогите переделать код пожалуйста

    function getFileInDir($folder, $orderby, $sort)< $imagePath = JPATH_SITE ."/".$folder; $imgFiles = JFolder::files( $imagePath ); $folderPath = $folder .'/'; $imageFile = array(); foreach ($imgFiles as $file)< $i_f = $imagePath .'/'. $file; if ( eregi( "bmp|gif|jpg|png|jpeg", $file ) && is_file( $i_f ) ) < $imageFile[$i][0] = $file; $imageFile[$i][1] = filemtime($i_f) ; $images = modJaSlideshowHelper::sortImage($imageFile, $orderby , $sort); return $images; нужно заменить eregi на preg_match max | 2012-02-27

    Ирек Минигулович: Ну согласно описанному выше строчка с eregi будет выглядеть как:

    if ( preg_match( «/bmp|gif|jpg|png|jpeg/i», $file ) && is_file( $i_f ) )
    Марина (анонимный пользователь) | 2012-03-20

    Привет!
    меня тоже интересует эта история с разделителями.
    С eregi() это работало:

    if (eregi(«(http|://|www|href|/a|blablabla)», $msg))

    для preg_match() что исправить?

    max | 2012-03-20

    Марина — не понимаю как это должно работать — если в строке $msg будет «http» или «://» или «www». то вылетаем с ошибкой? Как-то странно плучается, может вы хотели сделать чтобы удалялись из текста все гипессылки в каноническов формате?

    я не тестировал но если тот вариант что вы прислали правильный по-моему должен вполне сработать следующий код:

    if (preg_match(«/(http|://|www|href|/a|blablabla)/i», $msg))

    Алексей (анонимный пользователь) | 2012-04-03
    Марина (анонимный пользователь) | 2012-05-08

    Спасибо, max!
    попробую!
    Да, нужно чтоб выдавало именно ошибку, точнее — чтоб не разрешало добавлять такие сообщения. Обычно это просто спам и флуд. например в последнее время зачастили что-то типа того «предлагаю поменяться ссылками . и пошло поехало» такие сообщения вообще не нужны, а зарегистрированные пользователи обычно такой фигней не занимаются.
    В php4 eregi() очень выручала, жаль что в php5 ее убрали.
    С уважением, Марина

    Марина (анонимный пользователь) | 2012-05-08

    К сожалению этот код не работает 🙁 Любые ссылки не замечает вообще. Сообщения с любыми ссылками добавляются.

    Марина (анонимный пользователь) | 2012-05-08

    Убрали внутренние скобки и варианты кода со слэшами: :// и /a — вот без них кажется работает. И кажется проблема была именно в этих слэшах (если правильно называю эти черточки, незнаю, обратные они или прямые, но думаю Вы меня поняли) 😉

    С уважением, Марина

    Vit (анонимный пользователь) | 2012-05-08

    А вот такое чудо что означает? ereg(«[$d$q\n\r]») и на что его можно заменить?

    max | 2012-05-08

    Vit — судя по всему это чудо означает проверить если в тексте переносы строк и еще нечно, определенное в $d и $q — может быть все что угодно, нужно смотреть исходник. Заменить можно таким:

    Очень странно, что регулярное вырожение взято в [] если нужно проверить, что строки кончаются определенным окончанием то [] тут не нужны, [] означают любой символ из множества данных, но я сильно сомневаюсь, что в тексте множно поменять местами \n и \r (всегда забываю что идет в начале, но порядок важен).

    Vit (анонимный пользователь) | 2012-05-08

    Да, забыл совсем, что в двойные кавычки можно вставлять значения переменных. Полный текст выглядит так:

    function fputcsv($f, $list, $d=»,», $q='»‘) $line = «»;
    foreach ($list as $field) $field = str_replace(«\r\n», «\n», $field);
    if(ereg(«[$d$q\n\r]», $field)) $field = $q.str_replace($q, $q.$q, $field).$q;
    >
    $line .= $field.$d;
    >
    $line = substr($line, 0, -1);
    $line .= «\n»;
    return fputs($f, $line);
    >

    max | 2012-05-08

    А, понятно, это для генерации csv файлов, тогда preg_match(«/ [$d$q\n\r] /») это определенно то что нужно.

    Владимир (анонимный пользователь) | 2012-08-08

    И все равно.

    Я не знаю как и чем думали создатели новых версий PHP но элементарный тест

    Т.е. попытка проверить соответствие строки $str регулярному выражению [a-z0-9]

    хорошо

    Array ( [0] => 123 )

    да нет ребята это все плохо это все ОЧЕНЬ! плохо оно его пропустило и мало того оно сделало выборку только цифр когда как ereg никогда бы себе такого НЕ ПОЗВОЛИЛ.

    И preg_match возвращает FALSE в случае, если во время выполнения возникли какие-либо ошибки.

    так чем заменить ereg?!

    Владимир (анонимный пользователь) | 2012-08-08

    Исправьте версию PHP у Вас опечтка

    max | 2012-08-08

    исправил, но честно говоря пример мне не совсем понятен. В данном примере идет поиск строки состоящей из символов входящих в множество a-z0-9 — русские буквы туда никак не входят, хотите русских букв делайте так:

    $str=»123вава»;
    if(preg_match(«/[a-zа-я0-9]<1,>/m»,$str,$arr))
    Владимир (анонимный пользователь) | 2012-08-08

    Да в том то и дело не хочу чтобы давая такую строку на проверку $str=»123вава» ,а рег выражение [a-z0-9]. чтобы по if было true

    чтобы строка которая содержит нежелательные символы срабатывала на else на . плохо.

    т.е. в данном случае строка с русскими буквами со знаками пунктуации и с заглавными латинскими, не должна срабатывать а она срабатывает должна печатать. плохо. а она печатает хорошо.

    Вот еще подробнее, как заставить preg_match при шаблоне [a-z0-9] и проверки строки 123вава заставить выдать на выходе false чтобы в if не печатало . хорошо.

    max | 2012-08-09

    Дело в том, что preg_match ищет в тексте те конструкции, которые удовлетворяют твоему регулярному выражению, но не наоборот, [a-z0-9] — в данном случае в строке 123вава будет найденно именно 123 потому что именно это ты и просил. Если хочешь отсечь нежелательные символы их и ищи — используй [^a-z0-9] тогда если preg_match их найдет, значит они есть. RTFM.

    Сергей (анонимный пользователь) | 2012-08-27

    Здравствуйте помогите пожалуста. Версия PHP 5.3.5. WordPress PDA & iPhone при активации выдает ошибку:

    Deprecated: Function eregi() is deprecated in /wp-content/plugins/wp-pda/pda.php on line 96function detectPDA($query)
    Кусочек кода:
    $browserAgent = $_SERVER [‘HTTP_USER_AGENT’];
    $userAgents = $this->getBrowserAgentsToDetect ();
    foreach ( $userAgents as $userAgent ) < if (eregi ( $userAgent, $browserAgent )) <

    if (eregi ( «iphone», $browserAgent ) || eregi ( «ipod», $browserAgent ) || eregi ( «android», $browserAgent ))
    $this->smartPhone = true;
    $this->pda = true;
    max | 2012-08-27

    Ох уж этот вордпресс, в коде представленном выше вообще не нужны регулярные выражения, достаточно поска подстроки в строке, вот по идее что должно быть:

    $browserAgent = $_SERVER [‘HTTP_USER_AGENT’];
    $userAgents = $this->getBrowserAgentsToDetect ();
    foreach ( $userAgents as $userAgent ) if (strpos($browserAgent, $userAgent )!==false) if (strpos($browserAgent,»iphone»)!==false || strpos($browserAgent,»ipod»)!==false || strpos($browserAgent,»android»)!==false) $this->smartPhone = true;
    > else $this->pda = true;
    >
    >
    >

    max | 2012-08-27

    хотя. может с подстрокой не сработать, нужно бы еще посмотреть что в getBrowserAgentsToDetect — если там список агентов в виде регулярных выражений, тогда, да, нужно тоже будет использовать preg_match.

    Сергей (анонимный пользователь) | 2012-08-27

    Спасибо за помощь, обратился за помощю на форум, вопрос успешно решен http://bit.ly/Pj2p5W

    Все работает (анонимный пользователь) | 2012-11-02

    Чудо вражеской техники заработало.

    Анатолий (анонимный пользователь) | 2012-11-07

    Извените за тупость ,но не могу решить проблемму . Подскажите поалуйста.Есть код.

    while($index < count($hosts) && $connection == false) < $hostinfo = array(); if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) < $host = $hostinfo[1]; $port = $hostinfo[2]; $host = $hosts[$index]; $port = $this->Port;
    Выдает предуприждение

    Deprecated: Function eregi() is deprecated in /var/www/dombtz12880/data/www/dombt.zp.ua/includes/classes/class.phpmailer.php on line 592

    Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.server.com:25 (Connection refused) in /var/www/dombtz12880/data/www/dombt.zp.ua/includes/classes/class.smtp.php on line 122

    Warning: Cannot modify header information — headers already sent by (output started at /var/www/dombtz12880/data/www/dombt.zp.ua/includes/classes/class.phpmailer.php:592) in /var/www/dombtz12880/data/www/dombt.zp.ua/includes/functions/general.php on line 33

    if(eregi(‘^(.+):([0-9]+)$’, $hosts[$index], $hostinfo))
    if( preg_match (‘/^(.+):([0-9]+)$/i’, $hosts[$index], $hostinfo))

    Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.server.com:25 (Connection refused) in /var/www/dombtz12880/data/www/dombt.zp.ua/includes/classes/class.smtp.php on line 122

    Warning: Cannot modify header information — headers already sent by (output started at /var/www/dombtz12880/data/www/dombt.zp.ua/includes/classes/class.smtp.php:122) in /var/www/dombtz12880/data/www/dombt.zp.ua/includes/functions/general.php on line 33

    что делать спасибо.
    max | 2012-11-07

    > Анатолий замените eregi(‘^(.+):([0-9]+)$’, $hosts[$index], $hostinfo) на preg_matсh(‘/^(.+):([0-9]+)$/i’, $hosts[$index], $hostinfo) и будет всё работать!

    max | 2012-11-07

    Анатолий, сорри не дочитал до конца — вторая ошибка связана с тем что не доступен smtp.server.com видимо нужно проверить конфиги и заменить smtp.server.com на реальный адрес smtp сервера. Эта ошибка никак не связана с регулярными выражениями.

    uriy | 2012-11-23

    Hi!
    Помоги переписать код и ответ выложить на твой блог!
    ОШИБКА preg_match(): Delimiter must not be alphanumeric or backslash

    max | 2012-11-23

    uriy > забыл ты разделители добавить в начало и конец! должно быть preg_match(‘#fin/pin#’, url::current()) — так как / у тебя уже есть то вместь / я использовал # иначе нужно было бы писать \/

    uriy (анонимный пользователь) | 2012-11-23
    uriy (анонимный пользователь) | 2012-11-23

    В ощем спасибр заработало!

    Но хочеца знать как запретить в штацесс новые функции пшп 5,5.заблокировать errors или отключить eregi.

    был способ но я немогу его найти.

    Юрий (анонимный пользователь) | 2013-01-03

    Подскажите пожалуйста, как исправить

    if (!preg_match(«/adm/», $_SERVER[‘REQUEST_URI’]) && ($p_data[‘panel_display’] == 1 || eregi((SEO == «1» ? BRD_INDEX_FILE_HTML : BRD_INDEX_FILE_PHP).»$», FUSION_REQUEST.(FUSION_QUERY ? «?».FUSION_QUERY : «»))))

    ругается на ереги:(

    классный сайт, но к сожалению не все понимаю в програмировании

    max | 2013-01-03

    Юрий, попробуй вот так, трудно сказать что либо определенное не зная значений констант, но думаю должно сработать:

    if (strpos($_SERVER[‘REQUEST_URI’], «adm» )===false && ($p_data[‘panel_display’] == 1 || preg_match((SEO == «1» ? «#». BRD_INDEX_FILE_HTML. «$#i» : «#».BRD_INDEX_FILE_PHP. «$#i» ), FUSION_REQUEST.(FUSION_QUERY ? «?».FUSION_QUERY : «»))))

    юрий (анонимный пользователь) | 2013-01-03

    что-то не сработало:( контент перестал показываться даже

    max | 2013-01-03

    Юрий, попробуй замени !== на ===, по-моему, это более правильно

    юрий (анонимный пользователь) | 2013-01-03

    вроде сработало. спасибо огромное, ошибку не выает:)

    Вик (анонимный пользователь) | 2013-01-10

    Подскажите, плз, как исправить код?

    пробовал добавлять разделители — где-то ошибка

    max | 2013-01-11

    Вик, у меня получилась такая версия (у тебя лишние слеши в коде):

    Алекс (анонимный пользователь) | 2013-01-26

    Скрипт пишет такую ошибку Deprecated: Function ereg_replace() is deprecated in Вот эта строка $args = explode(‘-‘, ereg_replace(‘([ ]+)’, ‘ ‘, $command)); Как лучше заменить.

    Владислав (анонимный пользователь) | 2013-01-30

    Не могу правильно поменять:

    $patt=»($this->block_start_word|$this->block_end_word)[[:blank:]]*([0-9a-zA-Z\_]+)[[:blank:]]*$this->block_end_delim(.*)»;
    if (eregi($patt,$v,$res))

    Заранее спасибо за быстрый ответ.

    max | 2013-02-01

    Алекс, видимо вот так: $args = explode(‘-‘, preg_replace(‘/([ ]+)/’, ‘ ‘, $command));

    max | 2013-02-01

    Владислав, а что так не срабатывает?:

    $patt=»/($this->block_start_word|$this->block_end_word)[[:blank:]]*([0-9a-zA-Z\_]+)[[:blank:]]*$this->block_end_delim(.*)/i»;
    if (preg_match($patt,$v,$res))
    Богдан (анонимный пользователь) | 2013-02-24

    Не разбираюсь в програмировании помогите пожалуйста:

    Deprecated: Function eregi() is deprecated in /home/длинный путь/includes/init.php on line 60
    Deprecated: Function eregi() is deprecated in /home/длинный путь/includes/init.php on line 64
    Deprecated: Function eregi() is deprecated in /home/длинный путь/includes/init.php on line 68
    Deprecated: Function eregi() is deprecated in /home/длинный путь/includes/init.php on line 72
    Deprecated: Function eregi() is deprecated in /home/длинный путь/includes/init.php on line 75

    Deprecated: Function eregi() is deprecated in /home/длинный путь/includes/init.php on line 78
    Deprecated: Function eregi() is deprecated in /home/длинный путь/includes/init.php on line 81
    Deprecated: Function eregi() is deprecated in /home/длинный путь/includes/init.php on line 84

    Deprecated: Function eregi() is deprecated in /home/длинный путь/includes/init.php on line 87

    Warning: Cannot modify header information — headers already sent by (output started at /home/длинный путь/includes/init.php :60) in /home/xxx/xx/xxxxxxx/xxxxxx/xxx/includes/global.php on line 65

    if (!eregi(«sell_item.php», $_SERVER[‘PHP_SELF’]) || !eregi(«sell_item.php», $_SERVER[‘PHP_SELF’]) || $_REQUEST[‘option’] == «new_item» || eregi(«sell_item.php», $_SERVER[‘PHP_SELF’]) && $_REQUEST[‘option’] == «sell_similar») $session->unregister(«auction_id»);
    $session->unregister(«refresh_id»);
    >
    if (!eregi(«wanted_manage.php», $_SERVER[‘PHP_SELF’]) && !eregi(«category_selector.php», $_SERVER[‘PHP_SELF’])) $session->unregister(«wanted_ad_id»);
    $session->unregister(«wa_refresh_id»);
    >
    if (!eregi(«reverse_manage.php», $_SERVER[‘PHP_SELF’]) && !eregi(«category_selector.php», $_SERVER[‘PHP_SELF’])) $session->unregister(«reverse_id»);
    $session->unregister(«reverse_refresh_id»);
    >
    if (eregi(«edit_item.php», $_SERVER[‘PHP_SELF’])) $session->unregister(«edit_refresh_id»);
    >
    if (eregi(«bid.php», $_SERVER[‘PHP_SELF’])) $session->unregister(«bid_id»);
    >
    if (eregi(«reverse_bid.php», $_SERVER[‘PHP_SELF’])) $session->unregister(«reverse_bid_id»);
    >
    if (eregi(«buy_out.php», $_SERVER[‘PHP_SELF’])) $session->unregister(«buyout_id»);
    >
    if (eregi(«make_offer.php», $_SERVER[‘PHP_SELF’])) $session->unregister(«make_offer_id»);
    >
    if (eregi(«swap_offer.php», $_SERVER[‘PHP_SELF’])) $session->unregister(«swap_offer_id»);
    >
    $start = abs(intval($_GET[‘start’]));

    Николай (анонимный пользователь) | 2013-05-21

    Подскажите, пожалуйста, а как быть с такой строкой

    Eregi php чем заменить

    Здесь могла бы быть ваша реклама

    Покинул форум
    Сообщений всего: 4574
    Дата рег-ции: Июль 2006
    Откуда: Israel

    Помог: 3 раз(а)

    Секрет
    Теперь, когда вы уже наверняка второпях отправили свой запрос,
    я расскажу вам простой секрет, который сэкономит вам уйму ожиданий,
    даже если первый ответ по теме последуем сразу же.

    Само собой я знаю что ответят мне тут же, и если я посмотрю
    на сообщения на форуме, то пойму что в общем то я и не ошибаюсь.
    Но еще я точно замечу, что очень мало тем, в которых всего два ответа :
    вопрос автора и еще два сообщение вида Ответ + Спасибо

    После этого приходится начинать уточнять этим неграмотным что мне надо.
    Они что, сами читать не умеют? А уточнять приходится.
    И иногда пока они переварят то что я им скажу проходит и не одна ночь..

    Уверен что если бы я им сказал что у меня есть
    фиолетовый квадрат, и нужно превратить его в синий треугольник
    и я пытался взять кисточку, макнуть в банку и поводить ей по квадрату
    но почему то кисточка не принимала цвет краски в банке,
    то на мой вопрос — где взять правильные банки мне бы ответили гораздо быстрее
    предложив её открыть, а не тратить еще стольник на жестянку.

    Поэтому с тех пор я строю свои вопросы по проверенной давным давно схеме:
    Что есть
    Что нужно получить
    Как я пытался
    Почему или что у меня не получилось.

    На последок как оно происходит на форумах

    Цитата:

    Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
    Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется.
    Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами!
    Старожил: Какое дерево? Ты вообще соображаешь, что говоришь?
    Новичок: Чем мне нравиться этот форум — из двух ответов ниодного конкретного. Одни вопросы неподелу!
    Старожил: Не нравится — тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить.
    Новичок: Не знаите — лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ.
    Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю. А от вас нормального ответа недождёшся.
    Прохожий: Самое крепкое дерево — дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность:
    Новичок: Спасибо, братан! То что нужно.

    Отредактировано модератором: Uchkuma, 26 Апреля, 2011 — 10:21:12

    Замена функции eregi_replace в новой версии PHP

    Есть переменные с функцией eregi_replace, с сожалению функция давно устарела. Подскажите пример как на php 7 то же самое сделать.

    $php=eregi_replace('[^-a-zа-я0-9 !\?\.\,]',' ',$str); $php=eregi_replace(' ([!\?\.\,])','\\1',$str);

    Отслеживать
    задан 20 мая 2018 в 7:58
    161 1 1 серебряный знак 10 10 бронзовых знаков
    preg_replace() ?
    20 мая 2018 в 7:59
    с модификатором i
    20 мая 2018 в 8:06

    0

    Сортировка: Сброс на вариант по умолчанию

    Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.

    • php
    • php7
      Важное на Мете
    Похожие

    Подписаться на ленту

    Лента вопроса

    Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

    Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

    Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *