Заменить ereg_replace на preg_replace
Привет, нужно изменить функцию ereg_replace("[\]", "", $theData)
preg_replace
4 ответа
В порт ereg_replace
в preg_replace
вам нужно поместить регулярное выражение между парой разделителя
Также ваш Регкс [\]
недопустимо использовать для preg_replace как \
избегает закрывающего класса char ]
Правильный порт
preg_replace('/[\\\]/','',$theData)
Кроме того, поскольку у класса char есть только один тип char, нет никакой необходимости в классе char, вы можете просто сказать:
preg_replace('/\\\/','',$theData)
Поскольку вы заменяете только один символ, использовать регулярные выражения для этого не рекомендуется. Вы должны использовать простую замену текста, используя str_replace
как:
str_replace('\\','',$data);
str_replace("\\","",$theData);
Но я серьезно сомневаюсь, что вам нужна эта замена вообще. Скорее всего, вам нужна другая операция.
Чем это заменить?
Я использовал этот sed для автоматической замены ereg_replace на preg_replace и вставил необходимые косые черты. Предполагается, что нет \"в первом регулярном выражении
sed -i 's#ereg_replace("\([^"]*\)"#preg_replace("/\1/"#g' *.php