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 相关文章推荐
PHP中extract()函数的妙用分析
Jul 11 PHP
解析func_num_args与func_get_args函数的使用
Jun 24 PHP
php中的ini配置原理详解
Oct 14 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
Apr 21 PHP
Symfony2实现在controller中获取url的方法
Mar 18 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
Jul 09 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
PHP单例模式简单用法示例
Jun 23 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
Laravel框架定时任务2种实现方式示例
Dec 08 PHP
PHP查找一列有序数组是否包含某值的方法
Feb 07 PHP
PHP之header函数详解
Mar 02 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 session机制
2011/07/17 PHP
php中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
PHP中include和require的区别实例分析
2017/05/07 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
JavaScript创建对象方法实例小结
2018/09/03 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
javascript实现倒计时关闭广告
2021/02/09 Javascript
python中的__slots__使用示例
2015/02/26 Python
Python 常用 PEP8 编码规范详解
2017/01/22 Python
python的socket编程入门
2018/01/29 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
欧洲领先的技术商店:eibmarkt.com
2019/05/10 全球购物
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
三八妇女节趣味活动方案
2014/08/23 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
运动会铅球比赛加油稿
2014/09/26 职场文书