Перейти к собственно контенту

AgR^ Live Blog

Общественные записки не поддающиеся вкуриванию…

Архив

Метка: Function split()

Здесь я просто выложу (как памятку) какие функции PHP  на что и как менять.


ereg():

ereg("\.([^\.]*$)", $this->file_src_name, $extension);

preg_match("/\.([^\.]*$)/", $this->file_src_name, $extension);

ereg_replace():

$this->file_dst_name_body = ereg_replace("[^A-Za-z0-9_]", "",$this->file_dst_name_body);

$this->file_dst_name_body = preg_replace("/[^A-Za-z0-9_]/", "",$this->file_dst_name_body);

eregi():

eregi("\.([^\.]*$)", $this->file_src_name, $extension);

preg_match("/\.([^\.]*$)/i", $this->file_src_name, $extension);

Но можно и не менять эти функции а просто ищем в php.ini следующие строчки (или добавляем в конец если таковых нету в вашем конфиге :) ):

http://ru2.php.net/manual/en/mbstring.overload.php

;0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions

; http://ru2.php.net/manual/en/mbstring.configuration.php#ini.mbstring.func-overload
mbstring.func_overload = 0

Что это означает? А вот что!!!

0 - Оставить все без изменений.
1-4 Включить одну из функций.
7 - Включить сразу все функции.

Тем самым мы включаем поддержку старых функций, при этом новые будут отключены.

Ну вот и всё пока.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
1 374 views

После месяца использования PHP5.3 , выяснилось что неправильно стала работать гвестбука и форум. Начнём с гостевой http://amigas.ru/webserverdata/gb/index.php . Стоит она (inDEV) у меня уже очень очень давно и хотелось бы её оставить на память но в рабочем варианте. Но при её открытии стало выдаваться следующее:

Deprecated: Function split() is deprecated in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Deprecated: Function split() is deprecated in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Deprecated: Function split() is deprecated in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Deprecated: Function split() is deprecated in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Deprecated: Function split() is deprecated in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Deprecated: Function split() is deprecated in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Deprecated: Function split() is deprecated in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29

Количество сообщений об ошибке как оказалось зависит от количества записей в гостевой. Ну что-же… Будем исправлять. На сайте пыхи советуют заменить устаревшую функцию split на preg_split. Идём в quest.php и находим строку 29. Вот она:

list($date,$ip,$name,$email,$site,$msg) = split(«@@@»,$ln[$stop]);

изменяем её так:

list($date,$ip,$name,$email,$site,$msg) = preg_split(«@@@»,$ln[$stop]);

При попытке захода в гостевую получаем следующую ошибку:

Warning: preg_split() [function.preg-split]: Unknown modifier ‘@’ in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Warning: preg_split() [function.preg-split]: Unknown modifier ‘@’ in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Warning: preg_split() [function.preg-split]: Unknown modifier ‘@’ in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Warning: preg_split() [function.preg-split]: Unknown modifier ‘@’ in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Warning: preg_split() [function.preg-split]: Unknown modifier ‘@’ in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Warning: preg_split() [function.preg-split]: Unknown modifier ‘@’ in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29
Warning: preg_split() [function.preg-split]: Unknown modifier ‘@’ in /data/sites/my-www/webserverdata/gb/engine/guest.php on line 29

Ну что же опять топаем на сайт php.net  и читаем вдумчиво и ещё раз 5 также. А потом долго думаем. И о эврика!!!!! Пробуем так:

list($date,$ip,$name,$email,$site,$msg) = preg_split(«/@@@/»,$ln[$stop]);

И наконец то всё заработало как надо! Что изменилось? Да просто добавили пару слэшей «/» в функцию preg_split.

Ну вот и всё пока. Надеюсь мой опыт хоть кому-то поможет.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
11 280 views