php 5.3 ereg_replace на preg_replace

$this->Settings = array( "host" => $host , "user" => $user , "pass" => $pass );
    $this->db = $db;
    $this->Settings["name"] = ereg_replace  ("_", "", $this->db);
    $this->init();

У меня есть приложение, которое не может работать после перехода на php 5.3 с php 5.2.

Даже после того, как я изменил строку ereg_replace выше на

$this->aSettings["name"] = preg_replace("/_/", "", $this->db);

Он по-прежнему не получает настройки из БД.


person Potential Coder    schedule 11.10.2012    source источник
comment
Если проблема в том, что значение не извлекается из базы данных, то проблема в вашей переменной $db. Попробуйте проверить его значение: var_dump($db)   -  person pankar    schedule 11.10.2012


Ответы (1)


Нет особой причины, по которой ваш preg_replace() не будет работать, но вместо этого вы можете просто использовать str_replace().

$this->Settings['Name'] = str_replace('_', '', $this->db);

Хотя меня интересует это утверждение:

$this->db = $db;

Где установлен $db? Следуйте по этому следу, пока не найдете, где настоящая проблема,

person Ja͢ck    schedule 11.10.2012
comment
Благодарю. да.. не в этом дело. это трудно отследить, так как ошибок нет, даже если отчет об ошибках установлен на все. - person Potential Coder; 11.10.2012
comment
@PotentialCoder Тогда вам нужно поделиться своим кодом, иначе вам невозможно помочь. - person Ja͢ck; 06.10.2014