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框架的性能
Jan 10 PHP
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
May 07 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
php上传图片之时间戳命名(保存路径)
Aug 15 PHP
初识php MVC
Sep 10 PHP
基于PHP生成简单的验证码
Jun 01 PHP
Yii框架数据模型的验证规则rules()被执行的方法
Dec 02 PHP
PHP重定向与伪静态区别
Feb 19 PHP
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
May 02 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
php实现的PDO异常处理操作分析
Dec 27 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
ajax缓存问题解决途径
2006/12/06 PHP
smarty半小时快速上手入门教程
2014/10/27 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
PHP simplexml_import_dom()函数讲解
2019/02/03 PHP
载入进度条 效果
2006/07/08 Javascript
window.open()弹出居中的窗口
2007/02/01 Javascript
Javascript中的常见排序算法
2007/03/27 Javascript
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
Javascript与flash交互通信基础教程
2008/08/07 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
nodejs 日志模块winston的使用方法
2018/05/02 NodeJs
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
python解析文件示例
2014/01/23 Python
python提取内容关键词的方法
2015/03/16 Python
Django自定义分页与bootstrap分页结合
2021/02/22 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
班长岗位职责
2013/11/10 职场文书
监理员的岗位职责
2013/11/13 职场文书
幼儿园家长评语
2014/02/10 职场文书
高中微机老师自我鉴定
2014/02/16 职场文书
政工例会汇报材料
2014/08/26 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
民事纠纷协议书
2016/03/23 职场文书
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
2021/05/31 Python