[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с eregi_replace
Гость_user
Здравствуйте.
Обновил Denwer.
Рабочий скрипт перестал работать из-за Function eregi_replace() is deprecated.

Помогите заменить на аналоги:

	$sql_if_main = preg_replace(' and $', "", $sql_if_main);
$sql_if = substr($sql_if, 0, -2);
$sql_where = preg_replace(' or $', "", $sql_where);




Спустя 34 секунды (16.06.2011 - 00:15) Гость_user написал(а):
Ой, не то.
Вот:

	$sql_if_main = eregi_replace(' and $', '', $sql_if_main);
$sql_if = substr($sql_if, 0, -2);
$sql_where = eregi_replace(' or $', '', $sql_where);

Спустя 18 минут, 40 секунд (16.06.2011 - 00:34) inpost написал(а):
Гость_user
eregi -устаревшая библиотека! Используй preg.

Спустя 7 часов, 54 минуты, 1 секунда (16.06.2011 - 08:28) Гость_user написал(а):
Попробовал просто заменить eregi_replace на preg_replace - не работает.

Спустя 37 минут, 48 секунд (16.06.2011 - 09:06) inpost написал(а):
Гость_user
у тебя не регулярное выражение, а обычный текст, используй: str_replace.

Спустя 8 минут, 4 секунды (16.06.2011 - 09:14) Гость_user написал(а):
А знак $ не спец. символ?

$sql_if_main = eregi_replace(' and $', '', $sql_if_main);
$sql_if = substr($sql_if, 0, -2);
$sql_where = eregi_replace(' or $', '', $sql_where);

В обоих случаях идет замена первого аргумента в конце строки... кажется.

Спустя 3 минуты, 24 секунды (16.06.2011 - 09:17) linker написал(а):
$sql_if_main = preg_replace('/ and $/', '', $sql_if_main);
$sql_if = substr($sql_if, 0, -2);
$sql_where = eregi_replace('/ or $/', '', $sql_where);

Спустя 4 минуты, 1 секунда (16.06.2011 - 09:21) Гость_user написал(а):
Да, str_replace не работает.
Нужна замена and и or последних в строке.

Вариант ниже тоже не сработал.

$sql_if_main = preg_replace('/ and $/', '', $sql_if_main);
$sql_if = substr($sql_if, 0, -2);
$sql_where = preg_replace('/ or $/', '', $sql_where);

Спустя 5 минут, 52 секунды (16.06.2011 - 09:27) Гость_user написал(а):
Пока заменил на

$sql_if_main = substr($sql_if_main, 0 , -5);
$sql_if = substr($sql_if, 0, -2);
$sql_where = substr($sql_where, 0, -4);


Но вопрос открыт.

Спустя 10 минут, 45 секунд (16.06.2011 - 09:38) kristall написал(а):
'/ and \$/' и '/ or \$/', соответственно. Знак доллара сам по себе имеет значение "конец строки", его надо бэкслешем прикрывать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.