0

我有一个带有融合图表的应用程序,我必须为他生成 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

4

2 回答 2

2

尝试:

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

用空格替换所有中断,修剪结果。

如果你想支持 unicode,这是 utf-8 变体:

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

请参阅如何以最聪明的方式在 PHP 中替换不同的换行符样式?有更详细的信息。

于 2011-11-10T16:58:09.660 回答
0

如果您的图形数据包含 Linux 样式的换行符(“\n”),则您尝试的格式不起作用,因为它只匹配“\r\n”。

此代码应清除 Windows 和 Linux 样式换行符的数据;

$txt = trim($txt)
$txt = str_replace("\r", " ", $txt);
$text = str_replace("\n", " ", $text);
于 2011-11-10T16:56:21.837 回答