
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 3 Пользователь №: 39117 На форуме: Карма: ![]() |
Здравствуйте.
После перехода хостера на Php 5.3.28 на сайте появилась ошибка: Deprecated: Function eregi_replace() is deprecated in functions.php on line 259 В поисках решения нашёл: eregi_replace() (следует использовать preg_replace() с модификатором ‘i’ ) Прочитал много, но понял мало, пробовал много вариантов замены, но либо появляются новые ошибки, либо сайт не открывается вообще. Вот сам изначальный код: foreach($bbcodes as $bbcode => $bbcodehtml) { $text = eregi_replace($bbcode,$bbcodehtml,$text); } Пожалуйста, помогите правильно сделать замену. |
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 386 Пользователь №: 38774 На форуме: Карма: 6 ![]() |
novit
Примерно так <?php |
![]() |
|
![]() ![]() Тварю ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 544 Пользователь №: 27722 На форуме: Карма: 33 Не курю: 12 лет, 1 месяц, 19 дней ![]() |
eregi_replace($bbcode,$bbcodehtml,$text); Ну как ты верно заметил, тут просто надо заменить на preg_replace($bbcode,$bbcodehtml,$text); Затем надо будет искать откуда растут ноги $bbcode В это переменной та самая регулярка, которой надо добавить модификатор i. Другие ошибки могут лезть не из-за этого. Ты бы показал их. |
![]() |
|||
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 386 Пользователь №: 38774 На форуме: Карма: 6 ![]() |
novit Я не каких тут ошибок не заметил, у вас может регулярное выражение не правильное <?php
Это говорит о том, что эта функция объявлена мусором и в следующих версиях возможно будет выброшена на свалку) |
||
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 3 Пользователь №: 39117 На форуме: Карма: ![]() |
Всем, огромная благодарность, за то, что не оставили мою просьбу без внимания.
Только я ещё больше запутался, всё написанное мне не понятно, т.к. отсутствует должное образование. Извините, за отнятое у вас время, не думал, что всё так сложно. С благодарностью. |
![]() |
|
![]() ![]() Тварю ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 544 Пользователь №: 27722 На форуме: Карма: 33 Не курю: 12 лет, 1 месяц, 19 дней ![]() |
Что сложного, чего не понятного?
Спрашивай - ответим. |
![]() |
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 12174 Пользователь №: 23195 На форуме: Карма: 441 Трезвый : 15 лет, 10 месяцев, 24 дня ![]() |
$text = preg_replace('#' . preg_quote($bbcode, '#') . '#si', $bbcodehtml, $text); как-то так -------------------- |
![]() |
|
![]() ![]() Тварю ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 544 Пользователь №: 27722 На форуме: Карма: 33 Не курю: 12 лет, 1 месяц, 19 дней ![]() |
Invis1ble, а не поломаешь ли ты старую регулярку таким методом?
В $bbcode уже записано regexp с разделителями и возможно модификаторами. |
![]() |
|||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 12174 Пользователь №: 23195 На форуме: Карма: 441 Трезвый : 15 лет, 10 месяцев, 24 дня ![]() |
Там скорее всего обычная строка с пробелами по краям. Если нет, то поломается, да. + у ereg* нет модификаторов -------------------- |
||
![]() |
۩
Дата
|
||
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 3 Пользователь №: 39117 На форуме: Карма: ![]() |
Invis1ble Всё заработало!!! Огромная благодарность Вам и всем, кто принял участие в решении моей проблемы. |
||
![]() |
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 12174 Пользователь №: 23195 На форуме: Карма: 441 Трезвый : 15 лет, 10 месяцев, 24 дня ![]() |
novit
если мой вариант работает корректно, то регулярки тут вообще не нужны и оптимальней заменить на str_ireplace() -------------------- |
![]() |
|||||
![]() ![]() Тварю ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 544 Пользователь №: 27722 На форуме: Карма: 33 Не курю: 12 лет, 1 месяц, 19 дней ![]() |
Я боюсь он потом словит багу, когда поймет что у него BBCode не работают. ББкоды в 99% случаем используются регулярку
Не знал и знать не стоит ![]() |
||||
![]() |
![]() ![]() ![]() |