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 相关文章推荐
轻松修复Discuz!数据库
May 03 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
Apr 17 PHP
php设计模式 Template (模板模式)
Jun 26 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
Jun 03 PHP
PHP获取一个字符串中间一部分字符的方法
Aug 19 PHP
PHP-Java-Bridge使用笔记
Sep 22 PHP
php+jQuery.uploadify实现文件上传教程
Dec 26 PHP
smarty模板引擎之内建函数用法
Mar 30 PHP
详解WordPress中提醒安装插件以及隐藏插件的功能实现
Dec 25 PHP
php版微信小店调用api示例代码
Nov 12 PHP
php接口实现拖拽排序功能
Apr 23 PHP
解决laravel 出现ajax请求419(unknown status)的问题
Sep 03 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
php的一个登录的类 [推荐]
2007/03/16 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
Jquery submit()无法提交问题
2013/04/21 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
Javascript中构造函数要注意的一些坑
2017/01/23 Javascript
js实现导航吸顶效果
2017/02/24 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
Python2中的raw_input() 与 input()
2015/06/12 Python
用Python实现KNN分类算法
2017/12/22 Python
python实现输入数字的连续加减方法
2018/06/22 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
原生python实现knn分类算法
2019/10/24 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
详解Python 循环嵌套
2020/07/09 Python
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
Java程序员常见面试题
2015/07/16 面试题
电大毕业生自我鉴定
2013/11/10 职场文书
优良学风班申请材料
2014/02/13 职场文书
目标责任书范本
2014/04/16 职场文书
村居抓节水倡议书
2014/05/19 职场文书
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
小学班级口号大全
2015/12/25 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android