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))1,>
Владимир (анонимный пользователь) | 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 backslashmax | 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 75Deprecated: 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 84Deprecated: 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:060
Сортировка: Сброс на вариант по умолчанию
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
- php
- php7
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.