Как удалить ANSI-код (" ") из строки в PHP - PullRequest
1 голос
/ 02 апреля 2012

Я много пробовал, но ничего не работает. Я хочу импортировать XML-файл с PHP. В некоторых строках клиент помещает некоторые возвраты по ANSI-коду (" "). Я попытался удалить их с помощью:

str_replace('\r', '', $xml->description);

Я тоже пробовал с "&\#13;", "\r\n", "\&\\#13\;" в поиске, но ничего не работает. У вас есть идеи, как удалить эти разрывы строк?

Спасибо!

Ответы [ 4 ]

1 голос
/ 02 апреля 2012

Поскольку ваш XML-процессор уже обрабатывает удаление сущностей, вы останетесь с простым ASCII \ n или \ r или \ r \ n.PHP не обрабатывает \ r или \ n внутри одинарных кавычек.Он переводит их только в соответствующие им символы (коды 10 и 13), когда \ r и \ n находятся внутри двойных кавычек.

Вам просто нужно использовать "\ n" или, возможно, "\ r \ n».

0 голосов
/ 17 октября 2013

Это сработало для меня:

str_replace("\x13", '', $str);

Я использую шестнадцатеричный код для этого символа.

0 голосов
/ 02 апреля 2012

На самом деле, это работает очень хорошо

$str = "&\#13;"; //just an example

echo str_replace("&\\#13;", "hello", $str);

Демо

0 голосов
/ 02 апреля 2012

Должен быть простой случай:

str_replace('
', '', $xml->description);

Обратите внимание, что я не избежал # с \.

...