fgetcvs在linux的问题


Posted in PHP onJanuary 15, 2012

看到有人在有汉字的字符串 前加一个 ‘ 或是任意半角符号,让bug将其除掉,不过这样做太麻烦了。最后呢,找来一个模拟fgetcsv功能的函数。

function __fgetcsv(& $handle, $length = null, $d = ‘,', $e = ‘”‘) { 
$d = preg_quote($d); 
$e = preg_quote($e); 
$_line = “”; 
$eof=false; 
while ($eof != true) { 
$_line .= (empty ($length) ? fgets($handle) : fgets($handle, $length)); 
$itemcnt = preg_match_all(‘/' . $e . ‘/', $_line, $dummy); 
if ($itemcnt % 2 == 0) 
$eof = true; 
} 
$_csv_line = preg_replace(‘/(?: |[ ])?$/', $d, trim($_line)); 
$_csv_pattern = ‘/(‘ . $e . ‘[^' . $e . ']*(?:' . $e . $e . ‘[^' . $e . ']*)*' . $e . ‘|[^' . $d . ']*)' . $d . ‘/'; 
preg_match_all($_csv_pattern, $_csv_line, $_csv_matches); 
$_csv_data = $_csv_matches[1]; 
for ($_csv_i = 0; $_csv_i < count($_csv_data); $_csv_i++) { 
$_csv_data[$_csv_i] = preg_replace(‘/^' . $e . ‘(.*)' . $e . ‘$/s', ‘$1′ , $_csv_data[$_csv_i]); 
$_csv_data[$_csv_i] = str_replace($e . $e, $e, $_csv_data[$_csv_i]); 
} 
return empty ($_line) ? false : $_csv_data; 
}
PHP 相关文章推荐
一个阿拉伯数字转中文数字的函数
Oct 09 PHP
php生成文件
Jan 15 PHP
php foreach 参数强制类型转换的问题
Dec 10 PHP
PHP中输出转义JavaScript代码的实现代码
Apr 22 PHP
php判断输入不超过mysql的varchar字段的长度范围
Jun 24 PHP
php类中private属性继承问题分析
Nov 01 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
php轻松实现中英文混排字符串截取
May 28 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
PHP 中使用ajax时一些常见错误总结整理
Feb 27 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 PHP
PHP异步调用socket实现代码
Jan 12 #PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Jan 12 #PHP
PHP警告Cannot use a scalar value as an array的解决方法
Jan 11 #PHP
Trying to clone an uncloneable object of class Imagic的解决方法
Jan 11 #PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
Jan 11 #PHP
php通过COM类调用组件的实现代码
Jan 11 #PHP
关于IIS php调用com组件的权限问题
Jan 11 #PHP
You might like
PHP5 面向对象程序设计
2008/02/13 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
js获取键盘按键响应事件(兼容各浏览器)
2013/05/16 Javascript
一个js控制的导航菜单实例代码
2013/12/03 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
基于angular实现模拟微信小程序swiper组件
2017/06/11 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
wxpython 学习笔记 第一天
2009/03/16 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
python获取中文字符串长度的方法
2018/11/14 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
python文档字符串(函数使用说明)使用详解
2019/07/30 Python
学python安装的软件总结
2019/10/12 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
人力资源专业推荐信
2013/11/29 职场文书
应届毕业生个人自荐信范文
2013/11/30 职场文书
小学教师听课制度
2014/02/01 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
2016年学生会感恩节活动总结
2016/04/01 职场文书
HDFS免重启挂载新磁盘
2022/04/06 Servers