ereg php 7 чем заменить

Ereg php 7 чем заменить

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

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

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

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

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

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

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

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

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

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

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

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

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

if (strpos($aFile[$i],$sVariable.»[‘».$sKey.»‘]»)!==false && strpos($aFile[$i], ‘=’)!==false )<

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

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

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

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

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

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

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

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

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

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

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

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

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

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

И все равно.

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

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

хорошо

Array ( [0] => 123 )

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

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

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

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

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

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

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

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

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: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

$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)) <.

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

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

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

Источник

Мой опыт миграции на PHP 7

ereg php 7 чем заменить
Несколько дней назад я переключил свой сервер с порядка 30-ти сайтами на PHP 7. Некоторые из них были достаточно старыми и составляли широкий набор с различных фреймворков и CMS. Вот несколько советов для тех кто еще не решил переходить на PHP 7 или нет.

Начнем с того что я понимаю что есть много людей которые не считают стабильную версию действительно «стабильной» пока она чуть-чуть не повзрослела, ожидая что еще найдутся какие-то баги или несовместимости. С того что я пока видел, пробуя каждый release candidate как только он выходил, совсем безопасно переключиться на PHP 7 как только он выйдет. Я ни разу не заметил какого-то непонятного поведения или вылета которому виной не был бы я сам. Несмотря на то что это новая версия она не несет много несовместимых изменений, то есть по большому счету можете относиться к ней как к просто PHP 5.7 только существенно быстрее.

И скорость действительно впечатляет, даже невероятно как. Для примера простой сайт на PHPixie заработал почти в три раза быстрее практически сравнившись со скоростью Phalcon на PHP 5.6, несколько сайтов на WordPress показали стабильный прирост в скорости в два раза. Если учесть недавний отчет от Google что потеря даже 10% производительности загрузки страниц приводит к ощутимой потери клиентов, то если вы можете запросто ускорить работу сайта в два раза просто обновив PHP вы получаете больше продаж ничего не потратив. Вспомните об этом, когда будете убеждать своего менеджера перейти на PHP 7. Ничего не убеждает лучше, чем объем продаж.

Расширение mysql больше недоступно, так что если вы еще не перешли на PDO или mysqli то теперь уж точно придется. Благо во многих случаях достаточно просто заменить вызовы к mysql_ функциям на mysqli_.

E_STRICT ошибки реклассифицированы как другие типы ошибок. Если раньше вы их прятали или игнорировали, то теперь они начнут всплывать вместе с другими. Например, вызов нестатических методов статически теперь выбрасывает E_DEPRECATED что создало кучу проблем с Joomla 2.5 который почему-то делает это довольно часто. Также несовместимое наследование теперь классифицируется как E_WARNING. WordPress уже с февраля тестируется на работу с PHP 7, так что с ним самим проблем никаких нет, правда, несколько плагинов таки оказались несовместимыми.

foreach теперь всегда работает с копией массива, так что все изменения массива во время итерации не повлияют на саму итерацию. На самом деле, во многих случаях оно и так работало и сам случай довольно редкий, но все же в одном из плагинов я на это наткнулся.

Теперь $foo->$bar[‘baz’] интерпретируется как ($foo->$bar)[‘baz’] а не $foo-> как в PHP 5. Это редкий случай, но тоже попалось в одном из плагинов, и как оказалось в Magento 1.x (core/Mage/Core/Model/Layout.php).

Имейте в виду, что не все расширения уже поддерживают PHP 7. Я уже не могу использовать понравившийся мне XCache, который верно служил мне много лет.

Вряд ли вы встретите какие-то проблемы кроме вышеперечисленных, но если вам интересно то полный список доступен на сайте PHP.

В сумме мне заняло около 5 часов чтобы перевести все сайты на PHP 7. Процесс совсем нетрудный и пакеты доступны уже для всех популярных дистрибутивов. Так что даже если вы собираетесь ждать стабильного релиза (уже совсем недолго), нет никакой причины не приготовить свои сайты к миграции наперед.

Источник

Ereg php 7 чем заменить

Зарегистрирован: 29.09.2010
Показать/Спрятать Сообщения: 105
Посл. визит: Ср 24 Мар, 2021 20:04
Балл: 1614

ereg php 7 чем заменить

Зарегистрирован: 06.01.2005
Показать/Спрятать Откуда: Оренбург
Сообщения: 2576
Скрытый
Балл: 1014

Добавлено спустя 11 минут 38 секунд:

Подозреваю, что у вас где-то используются функции вида ereg(): ereg(), ereg_replace(), eregi(), ereg_replacei(). В php5 они отменены.

Зарегистрирован: 29.09.2010
Показать/Спрятать Сообщения: 105
Посл. визит: Ср 24 Мар, 2021 20:04
Балл: 1614

так.
залезла в common.php

но, сдаётся мне что-то я не так сделала, потому что всё в ошибках )
Или правильно?

ereg php 7 чем заменить

Зарегистрирован: 06.01.2005
Показать/Спрятать Откуда: Оренбург
Сообщения: 2576
Скрытый
Балл: 1014

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

Искать вхождения вида ereg и аккуратно исправлять скрипты. ereg preg_match

Я этот форум тоже переводил на php5.

Зарегистрирован: 29.09.2010
Показать/Спрятать Сообщения: 105
Посл. визит: Ср 24 Мар, 2021 20:04
Балл: 1614

ereg php 7 чем заменить

Зарегистрирован: 06.01.2005
Показать/Спрятать Откуда: Оренбург
Сообщения: 2576
Скрытый
Балл: 1014

Зарегистрирован: 29.09.2010
Показать/Спрятать Сообщения: 105
Посл. визит: Ср 24 Мар, 2021 20:04
Балл: 1614

Зарегистрирован: 29.09.2010
Показать/Спрятать Сообщения: 105
Посл. визит: Ср 24 Мар, 2021 20:04
Балл: 1614

ereg php 7 чем заменить

Зарегистрирован: 06.01.2005
Показать/Спрятать Откуда: Оренбург
Сообщения: 2576
Скрытый
Балл: 1014

Зарегистрирован: 29.09.2010
Показать/Спрятать Сообщения: 105
Посл. визит: Ср 24 Мар, 2021 20:04
Балл: 1614

тут я впала в ступор.

Sergey, я могу попросить вас помочь мне?

ereg php 7 чем заменить

Зарегистрирован: 06.01.2005
Показать/Спрятать Откуда: Оренбург
Сообщения: 2576
Скрытый
Балл: 1014

Зарегистрирован: 29.09.2010
Показать/Спрятать Сообщения: 105
Посл. визит: Ср 24 Мар, 2021 20:04
Балл: 1614

Зарегистрирован: 15.03.2008
Показать/Спрятать Откуда: Москва
Сообщения: 899
Посл. визит: Вт 28 Апр, 2020 08:29
Балл: 6042

ereg php 7 чем заменить

Зарегистрирован: 06.01.2005
Показать/Спрятать Откуда: Оренбург
Сообщения: 2576
Скрытый
Балл: 1014

Зарегистрирован: 15.03.2008
Показать/Спрятать Откуда: Москва
Сообщения: 899
Посл. визит: Вт 28 Апр, 2020 08:29
Балл: 6042

Источник

Замена функции ereg_replace(). Подскажите самый быстрый вариант.

lamerz

Новичок

Замена функции ereg_replace(). Подскажите самый быстрый вариант.

Есть старый скрипт в котором присутствует много конструкций типа

Вурдалак

I’d like to model your domain

Можно посоветовать preg_replace(). Или даже preg_match().

С другой стороны — откуда эти теги?

HraKK

Мудак

Вурдалак

I’d like to model your domain

lamerz

Новичок

Автор оригинала: Вурдалак
Можно посоветовать preg_replace(). Или даже preg_match().

С другой стороны — откуда эти теги?

Теги будут браться с программы которая слушает определенный порт и отдает плэин текст.

Спасибо за советы ereg php 7 чем заменить

Решил провести тесты. возможно кому-то интересно будет

Для подсчета юзал функцию microtime(1);

а html page это html страничка. ereg php 7 чем заменить

/* 1 string
* Started at 1268165226.6797 ended at 1268165226.6798
* Started at 1268165233.9606 ended at 1268165233.9606
* Started at 1268165242.018 ended at 1268165242.018
* Started at 1268165247.7993 ended at 1268165247.7993
* Started at 1268165253.8756 ended at 1268165253.8756
* Started at 1268165260.4907 ended at 1268165260.4907
* html page
* Started at 1268165926.9691 ended at 1268165926.9691
* Started at 1268165937.5984 ended at 1268165937.5984
*/

тестировалось на нагрузке в 50%
Linux linux-0fiy 2.6.31.12-0.1-desktop #1 SMP PREEMPT 2010-01-27 08:20:11 +0100 i686 i686 i386 GNU/Linux

забавно.. думал preg_replace() будет работать медленнее чем explode()
буду юзать preg_replace() или substr()

как видите ereg_replace() вообще «стоит и курит в сторонке».. не думал, что будет такая значительная разница. нужно поскорее переписывать скрипт

в общем все, что я хотел узнать я узнал.. тему можно закрывать.

Источник

Популярные примеры работы регулярных выражений в PHP

Вопросов по данной теме уйма. И я решил создать свою подборку регулярных выражений. Думаю многим поможет!

Примеры preg_replace PHP

1. Удаляем определённую ссылку в переменной text

2. Удаляем комментарии в переменной text

3. Удаляем спецсимволы

4. Удаляем всё, что между

5. Удаляем всё, что между

6. Удаляем конкретные символы из строки

7. Удаляем пробелы по бокам строки и обычные пробелы

8. Удаляем лишние переводы строк и переносы

9. Удаляем расширения в названиях файлов

10. Создаём функцию обработки текста

11. Найти содержимое определённого тега и вставить его в другие теги

13. Добавить или убрать текст в начале или конце переменной с текстом

14. Находим все http:// и заменяем на ссылки

15. Удаление GET-параметров из URL

16. Добавить тег br в начало или конец строк

17. Как конвертировать html в текст

18. Как разобрать email и сделать ссылку

Примеры preg_match PHP

1. проверка mail адреса на корректность

2. Найти mail адреса в тексте

3. Является ли переменная числом, длиной от 13 до 16 символов (проверка кредитной карты)

4. Проверка имени файла

5. Ищем в тексте мобильные телефоны РФ

6. Состоит ли строка только из букв, цифр и _, длиной от 8 до 20 символов:

7. Есть ли в строке идущие подряд символы, не менее 3-х символов подряд (типа абвгДДДеё, но не ааббаабб):

8. Поиск в разных частях строки конструкции:

9. Проверки на тип браузера. Возвращает true если browser = Netscape 2, 3 or MSIE 3.

Примеры ereg PHP

1. Проверка mail адреса в тексте

Источник

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

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