我写了一小段 php,它从 xml 提要中获取项目(在本例中为产品)。我使用 simplexml_load_file 将提要的各个部分分配给变量。
它工作得很好,我正在将结果输出到 csv 文件。我遇到的问题是 xml 中的某些项目是 html 描述并且其中包含换行符。这破坏了 csv,因为它将这些视为新行。
为了解决这个问题,我在 csv 的每一行中添加了一个行尾字符串,我试图从描述中删除所有 \n\r,然后用 \n 替换 eol 字符串,这应该可以使 csv 工作.
我可以用记事本++手动完成,但是用php尝试它似乎不起作用。
下面是我尝试过的代码,但我可能搞砸了,因为我以前从未这样做过,而且它似乎不起作用。生成的 csv 仍然具有原始换行符,并且 eol 字符串仍然存在。
//Get The Short and Long Descriptions from the $_item in the XML
$short_Description = $_item->short_description;
$description = $_item->description;
//OK now we need to firstly remove all the \n\r \n \r from the descriptions and once that's done replace "FEOL," with \n. Easy!
// Lets strip the LF and CR from the descriptions
$new_Line = array('\n\r', '\n', '\r');
$replace = '';
$short_Description = str_replace($new_Line, $replace, $short_Description);
$description = str_replace($new_Line, $replace, $description);
// OK now we have one big long line lets add the CR or maybe LF back at the end of each line where we've put the FEOL place holder
$eol = 'FEOL,';
$replace = '\r';
$short_Description = str_replace($eol, $replace, $short_Description);
$description = str_replace($eol, $replace, $description);
只是想知道他们是否有明显的我遗漏的东西,或者我做错了。任何帮助将不胜感激。奈杰尔