PARFUMER_

Рейтинг
37
Регистрация
10.09.2011
Kurses:
Чем вызвана необходимость смены версии ПХП? Какая была, а какая стала?

Начал устанавливать CMS, на сервере изначально стояла такая версия, ничего не менял.

Когда вылезла эта ошибка и начал Гуглить, то выяснил, что на более новых конфигурациях сервера "preg_replace" воспринимается за ошибку по новым правилам php и его необходимо заменить на "preg_replace_callback". Поменял и начало выкидывать ошибку, что оглашена в первом посту. Как его записать этот код в работоспособном виде, не умею. Вот и обратился на форум.

nikonlay, Вы смогли бы исправить код в этом файле если его Вам вышлю его полностью.

В php полный ноль. В CMS высвечивает эту ошибку, вот скопировал и попросил исправить.

И кусок этого кода, а как его править, я понятия не имею.

wanick:
Вам нужно сделать еще одну функцию и вызывать ее в качеств callback
и в ней организовать то что сделано у вас строкой "s1('\\1').__fixx('\\3','{$H}').'\\4'/"

вот так должно работать

function fixx($A,$H){
return preg_replace_callback(
'/(<[a-z][^<>]*?(?:src|href))=(['\"])?(.*?)(?(2)\\2|([\s>]))/i',
function($matches){
return s1($matches[1]).__fixx($matches[3],$H).$matches[4].'/';
}, $A);
}

Благодарю за содействие!

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

foxi:
PARFUMER_, если в пхп не смыслите, то рано вам нуллить скрипты, юзайте скрипт как есть.

Так CMS готовую и юзаю, а выкидывает ошибку, которую необходимо убрать. Вот и спрашиваю помощи. как необходимо записать эту строку правильно и в рабочем виде.

Это хорошо, и благодарю за отзыв. Писал выше в php вообще не смыслю и соответственно мне это ни о чем не говорит.

В данной ситуации просьба переписать код так как он должен быть написан по правилам php и что бы он работал без высвечивания соответствующей ошибки.

---------- Добавлено 22.08.2016 в 09:32 ----------

Kurses:
или используйте просто preg_replace
Эта функция там и стояла, но новые версии php на нее ругаются, так как она уже устаревшая. Ее сменил, и вылезла ошибка как указана в первом посте.
12
Всего: 15