欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php把html批量转换成txt文件

程序员文章站 2022-05-09 15:32:15
...
  1. function html2text($str){
  2. $str = preg_replace("/
复制代码

第二步:把文件夹下的所有html文件转为txt文件

  1. //要读取的目录
  2. $folder='e:\apmserv\www\htdocs\tool\html-to-txt\files';
  3. //打开目录
  4. $fp=opendir($folder);
  5. //阅读目录
  6. while (($file = readdir($fp)) !== false){
  7. $filetype = substr ( $file, strripos ( $file, "." ) + 1 );
  8. $filename=substr($file,0,strrpos($file,'.'));
  9. if($file!='.' &&$file!='..'&&$filetype == "html"){
  10. echo $filename.'
    ';
  11. $content=file_get_contents("$folder/$file");
  12. //打开文件
  13. $op = fopen("$folder/$filename.txt", 'a');
  14. //写入文件
  15. fwrite($op,html2text($content));
  16. //关闭文件
  17. fclose($op);
  18. //删除html文件
  19. unlink("$folder/$file");
  20. }
  21. }
  22. //关闭目录
  23. closedir($fp);
  24. ?>
复制代码

补充知识点:html转txt小技巧 把
替换成换行,如果
已经是行末,那么把
替换成\n会变成2个换行,也就是说会空一行。但是我们希望出现
只是换行,只有出现

才是空一行,该怎么办呢? 其实只要在替换之前多一个步骤,把 \n和\r都替换为空,即 \n|\r 替换为空,之后再去做html标签的替换,就不会出现这些问题了。 也许有人会问,为什么既要替换\n又要替换\r呢 \n代表换行,\r代表回车,在txt文本中这两种形式都有可能存在,这是我工作中所总结的,肯定不会错! 该知识点中提到的在本案例中已经融进去了,不用担心html替换txt出现什么问题。