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文本数据库的搜索方法
Oct 09 PHP
简单易用的计数器(数据库)
Oct 09 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
Oct 22 PHP
php xml常用函数的集合(比较详细)
Jun 06 PHP
PHP使用CURL_MULTI实现多线程采集的例子
Jul 29 PHP
php搜索文件程序分享
Oct 30 PHP
PHP通过引用传递参数用法分析
Dec 01 PHP
php自定义截取中文字符串-utf8版
Feb 27 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
thinkPHP多表查询及分页功能实现方法示例
Jul 03 PHP
学习thinkphp5.0验证类使用方法
Nov 16 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字符编码转换之gb2312转为utf8
2013/10/28 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
JavaScript EasyPager 分页函数
2011/05/25 Javascript
js判断undefined变量类型使用typeof
2013/06/03 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
Python的迭代器和生成器
2015/07/29 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
python动态文本进度条的实例代码
2020/01/22 Python
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
缓刑人员的思想汇报
2014/01/11 职场文书
校园绿化美化方案
2014/06/08 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
小学见习报告
2015/06/23 职场文书
新教师教学工作总结
2015/08/14 职场文书
大学生村官工作心得体会
2016/01/23 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript