黄聪:simple_html_dom 换行符丢失

我在利用simple_html_dom来解析文档是,想要将其中的换行符替换成<BR> , 结果试了好几次没有成功,但是在原始文档中确实是有换行符的。后来索性把装载进来的文档打印出来,结果发现,装载进来以后换行符0x0a就没有了.

于是我跑到simple_html_dom的源码中去看到底怎么回事,原来在调用file_get_html, 后面有一排的缺省参数,其中有一个stripRN,缺省是打开的,也就是说缺省情况下,换行符会被删除,所以装载进来的文档就找不到换行符了。只要把这个参数改为false即可。

例如:

$html = file_get_html( ‘http://wphun.com‘, false, null, -1,-1,true,true,DEFAULT_TARGET_CHARSET, false );

$html = str_get_html( $content, true, true, DEFAULT_TARGET_CHARSET, false );
时间: 2024-10-12 23:19:52

黄聪:simple_html_dom 换行符丢失的相关文章

****使用ftp软件上传下载php文件时换行符丢失bug

在使用ftp软件上传下载php源文件时,我们偶尔会发现在本地windows下notepad++编辑器写好的php文件,在使用ftp上传到linux服务器后,php文件的换行符全部丢失了,导致php文件无法正常运行. 这个时候,再次通过ftp软件把刚才上传的php文件下载到本地windows,用notepad++编辑器打开后,发现php源代码变成了一行,换行丢失. 发生这种情况的原因是什么呢?飘易就以一句话概括下:    由于linux下换行是\n,而windows下换行是\r\n,当ftp软件在

JavaScript[容易忽视的错误]:当续行遇到换行,换行符丢失

1.引言 在JavaScript中,当定义一个大的字符串,特别是有换行情况时,为了看起来整齐.易读,一般使用续行符,例如: var script = "var chart = anychart.pieChart([ ['Chocolate paste', 5], ['White honey', 2], ['Strawberry jam', 2], ['Сondensed milk', 1] ]); //chart.bounds(0, 0, 100%,100%); var stage = anyc

黄聪:PHP使用Simple_HTML_DOM遍历、过滤及保留指定属性

<? /* * 参考资料: * http://www.phpddt.com/manual/simplehtmldom_1_5/manual_api.htm * http://www.phpddt.com/manual/simplehtmldom_1_5/manual.htm*/ class HtmlUtil{ /* * $allow:只允许这些属性存在 * $exceptions:一些特殊的元素,可以存在某些属性 */ public function clear_child_html_attri

linux下与windows下的换行符

回车符号和换行符号产生背景 关于"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别.在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符.要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失.     于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符.一

菜鸟教程之工具使用(八)——EGit禁止自动转换回车换行符

众所周知,Windows和Linux系统的回车换行是不一样的.想要进一步了解它们的可以阅读下面的介绍,不感兴趣的可以直接跳过. 产生背景 关于"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别.在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符.要是在这0.2秒里面,又有新的字符传过

Linux下的换行符\n\r以及txt和word文档的使用

Linux doc WINDOWS下记事本编写的文档和LINUX下VIM或者GEDIT等编写的文档的不同! 例如WINDOWS下编写的SH脚本,放到LINUX下执行可能会出错. 解决方法: 原因是:Windows下换行符号是“\r\n”,而linux下是“\n”没有”\r”,当shell文件是在Windows下编写的时候,所有的换行符都是“\r\n”,shell下是没办法执行这个文件的,会提示以上错误.请在ultraedit下将该文件执行“File->conversions->Dos to U

掰碎了讲换行符和回车符

一开始对这个概念还只是有点模糊,不太在意,结果一搜索才发现,这东西太有意思了,不仅有个有趣的故事,而且本身也有很多门道,还勾起了一些之前的回忆,原来以前也跟这个问题打过交道啊. 1基本概念 控制字符 本义 换行符 \n newline LF (Line Feed) 光标直接往下一行(不一定是行首) 回车符 \r return CR(Carriage Return) 光标重新回到本行开头 基本概念如上表所示. 2由来 为什么会有这两个东西呢?它有一个有趣的传说:在计算机还没有出现之前,有一种叫做电

(转)Java中的回车换行符/n /r /t

原文:http://hane00.blog.163.com/blog/static/1600615220126204446809/ '\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格.通常用的Enter是两个加起来.下面转一篇文章. 回车和换行 今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了. 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符.但

关于 java中的换行符

java中实现换行有以下3种方法: 1.使用java中的转义符"\r\n": String str="aaa"; str+="\r\n"; 这样在str后面就有换行了. 注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果. 2.BufferedWriter的newline()方法: FileOutputStream fos=new FileOutputStream("c;\\11.txt"); BufferedWri