Разрывы строк меня бесят? - PullRequest
0 голосов
/ 10 ноября 2011

У меня есть приложение с графиками слияния, и мне нужно сгенерировать XML для него, чтобы он отображал некоторые графики для пользователей. Но эта XML-строка должна быть встроенной, без разрывов и других вещей. Но мой запрос на получение данных графа приносит мне пустое место с этими линиями разрыва!

Я попробовал это форматирование на строку:

$txt = trim($txt);
$txt = str_replace("\r\n", " ", $txt);
$txt = preg_replace('~[\n|\r|\n\r|\r\n]{2,}~', " ", $txt);

Это пример данных с этой проблемой:

- Eixo Inferior Entrada Com Camisa

- Montar As Calhas Aparafusadas Conforme Posição Anterior.
- Montar O Rodete Z15 - Ext. 1200.
- Manter A Identificação Na Peça.

База данных: Oracle - тип данных столбца: Varchar2

Ответы [ 2 ]

2 голосов
/ 10 ноября 2011

Попробуйте:

$txt = preg_replace('~(*BSR_ANYCRLF)\R~', " ", $txt);
$txt = trim($txt);

Заменяет все разрывы пробелами, обрезает результат.

Если вы хотите поддерживать Unicode, это вариант utf-8:

$txt = preg_replace('~\R~u', " ", $txt);
$txt = trim($txt);

См. Как наиболее разумно заменить различные стили новой строки в PHP? более подробной информацией.

0 голосов
/ 10 ноября 2011

Если данные вашего графа содержат разрывы строк в стиле Linux ("\ n"), форматирование, которое вы пробовали, не работает, поскольку оно соответствует только "\ r \ n".

Этот код должен очистить вашданные разрывов строк в стиле Windows и Linux;

$txt = trim($txt)
$txt = str_replace("\r", " ", $txt);
$text = str_replace("\n", " ", $text);
...