2010-09-24

Заменяем ereg на preg_match

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]

примеры:

ereg('expression') -> preg_match('/expression/')

eregi('expression') -> preg_match('/expression/i')

eregi('^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$') -> preg_match('/^[a-z0-9][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i')

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();
$i = 0;
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) ;
$i++;
}
}
$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)) {echo "такая фигня тут не нужна"; exit;}

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

max | 2012-03-20

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

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

if (preg_match("/(http|://|www|href|/a|blablabla)/i", $msg)) {echo "такая фигня тут не нужна"; exit;}

Алексей (анонимный пользователь) | 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 - может быть все что угодно, нужно смотреть исходник. Заменить можно таким:

preg_match("/[$d$q\n\r]/")

Очень странно, что регулярное вырожение взято в [] если нужно проверить, что строки кончаются определенным окончанием то [] тут не нужны, [] означают любой символ из множества данных, но я сильно сомневаюсь, что в тексте множно поменять местами \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="123ыва";


if(preg_match("/[a-z0-9]{1,}/",$str,$arr))
{echo"хорошо";}
else
{echo"плохо";}

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

 

Результат:

хорошо

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))
{echo"хорошо";}
else
{echo"плохо";}
Владимир (анонимный пользователь) | 2012-08-08

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

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

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

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

max | 2012-08-09

Дело в том, что preg_match ищет в тексте те конструкции, которые удовлетворяют твоему регулярному выражению, но не наоборот, [a-z0-9]{1,} - в данном случае в строке 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;
} else {
$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;
        }
    }
}

p.s. в примере

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];
      } else {
        $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

            <li <?php if (eregi('finansi/pinkodi', url::current())) echo 'class="active"' ?>><span class="q03"><a href="/fin/pin" title="PIN">PIN</a></span></li>
            
переделаный мной
<li <?php if (preg_match('fin/pin', url::current())) echo 'class="active"' ?>><span class="q03"><a href="/finansi/pinkodi" title="PIN">PIN</a></span></li>

max | 2012-11-23

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

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

<li <?php if (preg_match('#fin/pin#i', url::current())) echo 'class="active"' ?>><span class="q03"><a href="/finansi/pinkodi" title="PIN">PIN</a></span></li>

Сплеш #i забыл?

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

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

Изначально -

if(ereg('^([^=]*)=["\']?([^"\']*)["\']?$',$v,$a3))

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

if(preg_match('/^([^=]*)["\/']?([^"\/']*)["\/']?$/',$v,$a3))

 

max | 2013-01-11

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

if(preg_match('/^([^=]*)=["\']?([^"\']*)["\']?$/',$v,$a3))

Алекс (анонимный пользователь) | 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

Файл init.php :

 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

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

  if (eregi('://', $url)) { $url = str_replace('://', '!@#', $url); }

max | 2013-05-21

Николай, попробуйте,

if (strpos($url,'://')!==false) { $url = str_replace('://', '!@#', $url); }

Дмитрий (анонимный пользователь) | 2013-08-13

Ребят, пишет что здесь ошибка.. 

if (ereg (".gif$", "$file")){

 

Сам не шарю в PHP. Помогите нубу....

Сергей Нестеровский (анонимный пользователь) | 2013-08-21

Отличный пост! Мне очень помогло

Михаил (анонимный пользователь) | 2013-10-29

Спасибо!!

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

Помогите пожалуйста сам немогу сделать((

return (is_array($login)) ? false : (ereg("{$mask}{$len}$", $login)) ? $login : false;

и сдесь

return (is_array($password)) ? false : (ereg("{$mask}{$len}$", $password)) ? $password : false;

andrei (анонимный пользователь) | 2013-11-30

Установил движок 2z, на локалке все косяки которые вылезли я смог сам исправить, т.к. там было что исправлять. Но когда этот же движок установил на хостинг и вылезла точно такая же ошибка Deprecated: Function eregi() is deprecated in Те инструкции которые до этого мне помогали тут никак не подошли! В строке 

global $lang, $member_db, $userROW, $config, $PHP_SELF;

нет никакого eregi() как видите! И как там править я даже понятия не имею! Подскажите пожалуйста, как быть в моём случае? Причём на локалке и на хостинге этот же файл и эта же строка - templates.class.php, строка 91 совершенно разные! Хотя по идее должны бы быть одинаковые!!

andrei (анонимный пользователь) | 2013-11-30

Всё, проблема решена. Установил сайт на локалке и уже установленный, как есть в папке переместил на хостинг, ошибка больше не появлялась. Странно всё равно - ведь установился то он нормально на хостинге! Ну ладно, по какой-то причине движок заглючил(или хостинг, или FTP клиент, или моё интернет соединение), но всё равно непонятно каким образом файлы templates.class.php с локалки и с хостинга оказались столь разными?? Чертовщина какая-то!

Novichok (анонимный пользователь) | 2014-04-19

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

Warning: preg_match(): Delimiter must not be alphanumeric or backslash in /home/tralalala in line 431

 if (preg_match('' . '\\/\\/' . $host, $referer))

Макс (анонимный пользователь) | 2014-07-29

помогите заменить

elseif (ereg("/[0-9a-z_]+@[0-9a-z_^\.]", "", $_POST[email])){

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

помогите выдаёт ошибку Deprecated: Function eregi() is deprecated in /home/u328329811/public_html/includes/init.php on line 60

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");

Андрей (анонимный пользователь) | 2014-10-07

Помогите пожалуйста сам немогу сделать((

return (is_array($login)) ? false : (ereg("{$mask}{$len}$", $login)) ? $login : false;

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

Помогите что тут не так

 if (!ereg("^[a-zA-Zа-яА-Я0-9\-_]{1,255}$", $mensaje)) {
$mensaje = htmlentities(stripslashes(strtolower(trim($mensaje))));
$mensaje = str_replace("'"," ",$mensaje);
$mensaje = str_replace(";"," ",$mensaje);
$mensaje = str_replace("$"," ",$mensaje);
return $mensaje;
   }else{ return $mensaje; }
Алексей (анонимный пользователь) | 2017-08-04
if (eregi("(jpg|jpeg|gif|png)$",$file)) { как тут чайнику быть? info@sima.spb.ru
RSS комментариев

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

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться

разное (187)
howto (124)
программирование (108)
гад-же-ты (75)
мысли (42)
PHP (41)
JavaScript (39)
вебмастеринг (37)
linux (28)
гондураша (28)
юмор (25)
полезное (21)
Android (17)
движок (17)
софт (15)
деньги (14)
кино (14)
видео (13)
музыка (10)
интернет (10)
путешествия (10)
беспредел (10)
diy (9)
книги (9)
занимательная физика (8)
ztools (8)
умный дом (8)
языки (7)
хостинг (7)
Nokia 5800 (7)
css (6)
вебдизайн (6)
lifehack (6)
связной (5)
apple (5)
oDesk (5)
arduino (5)
козлы (5)
прелоадер (5)
svn (4)
движек (4)
кухня (4)
Python (4)
аниме (4)
занимательная юриспруденция (4)
рестораны (3)
software (3)
энергия (3)
synphony (3)
webmastering (2)
Java (2)
Берлин (2)
Ruby on Rails (2)
фото на документы (2)
гитара (2)
bash (2)
спорт (2)
восстановить (1)
дурдом (1)
авторское право (1)
SEO (1)
сайты (1)
наука (1)
годнурас (1)
C++ (1)
технологии (1)
programming (1)
микросервисы (1)
Поиск по блогу:

Valid XHTML 1.0 Strict