str_replace не заменяет & lt; br & gt; с \ r \ n, но \\ r \\ n

Я получаю результат $code из API и использования str_replace перевести / заменить результаты.
В приведенном ниже сценарии мне нужно заменить <br> с \r\n так что я могу показать результаты в текстовом поле, но я получаю следующий результат: \\r\\n вместо \r\n

Мой сценарий:

$code = 'IMEI : 012417003071XXX<br>Serial : 8503702RAXX<br>';

$olddata = array('IMEI : ', '<br>', 'Serial : ');
$newdata = array('IMEI: ', '\r\n', 'Serial: ');

$newcode = str_replace($olddata, $newdata, $code);

$result['imeireport'] = $newcode;
echo json_encode($result);

В результате я получаю:

{"imeireport":"\r\n\r\n\r\nIMEI: 012417003071XXX\\r\\nSerial: 8503702RAXX\\r\\n"}

Мне нужно избавиться от \r\n\r\n\r\n (перед IMEI 🙂 и заменить \\r\\n с \r\n

Спасибо за помощь.

2

Решение

Используйте двойные кавычки («) вместо одинарных кавычек (‘) для регулярных выражений (например, \r\n):

str_replace("<br>", "\r\n", $string);
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]