Замените ereg_replace на preg_replace

Привет, мне нужно изменить функцию ereg_replace("[\]", "", $theData) на preg_replace

Ответ 1

В порт ereg_replace to preg_replace вам нужно поместить регулярное выражение между парой разделителя

Также ваш regx [\] недействителен, который будет использоваться для preg_replace, поскольку \ выполняет закрытие char class ]

Правильный порт

preg_replace('/[\\\]/','',$theData) 

Кроме того, поскольку класс char имеет только один char, нет необходимости в классе char, который вы можете просто сказать:

preg_replace('/\\\/','',$theData) 

Поскольку вы заменяете только один char, использование regex для этого не рекомендуется. Вы должны использовать простую замену текста, используя str_replace как:

str_replace('\\','',$data);

Ответ 2

str_replace("\\","",$theData);

Но я серьезно сомневаюсь, что вам нужна эта замена вообще. скорее всего, вам понадобится другая операция.
Что это заменяет?

Ответ 3

preg_replace("/\\\/", "", $theData);

Ответ 4

Я использовал этот sed, чтобы автоматически заменить ereg_replace на preg_replace и поместить необходимые слэши. Предполагается, что нет в первом регулярном выражении

 sed -i 's#ereg_replace("\([^"]*\)"#preg_replace("/\1/"#g' *.php