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 高手之路(三)
Oct 09 PHP
php&amp;mysql 日期操作小记
Feb 27 PHP
基于php iconv函数的使用详解
Jun 09 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 PHP
codeigniter中实现一次性加载多个view的方法
Mar 20 PHP
php实现递归抓取网页类实例
Apr 03 PHP
thinkphp分页实现效果
Oct 13 PHP
php中10个不同等级压缩优化图片操作示例
Nov 14 PHP
php实现微信模板消息推送
Mar 30 PHP
Swoole 5将移除自动添加Event::wait()特性详解
Jul 10 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 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中的错误处理、异常处理机制分析
2012/05/07 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
JavaScript学习笔记之图片库案例分析
2019/01/08 Javascript
vue+vant实现商品列表批量倒计时功能
2020/01/13 Javascript
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
2015/05/06 Python
Python中Django框架下的staticfiles使用简介
2015/05/30 Python
Python列表切片用法示例
2017/04/19 Python
python 判断网络连通的实现方法
2018/04/22 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
python中for in的用法详解
2020/04/17 Python
python中什么是面向对象
2020/06/11 Python
HTML5移动端开发中的Viewport标签及相关CSS用法解析
2016/04/15 HTML / CSS
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
传播学毕业生求职信
2013/10/11 职场文书
大学生职业生涯设计书
2014/01/02 职场文书
党课知识竞赛主持词
2014/04/01 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
党章培训心得体会
2014/09/04 职场文书
小学远程教育工作总结
2015/08/13 职场文书
合作意向书范本
2019/04/17 职场文书
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS