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 相关文章推荐
C# Assembly类访问程序集信息
Jun 13 PHP
PHP中输出转义JavaScript代码的实现代码
Apr 22 PHP
解析PHP中的unset究竟会不会释放内存
Jul 18 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
PHP单链表的实现代码
Jul 05 PHP
CI框架使用composer安装的依赖包步骤与方法分析
Nov 21 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 PHP
PHP attributes()函数讲解
Feb 03 PHP
PHP htmlentities()函数用法讲解
Feb 25 PHP
PHP中-&gt;和=&gt;的含义及使用示例解析
Aug 06 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版本号
2006/10/09 PHP
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
PHP Cli 模式设置进程名称的方法
2019/06/12 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
js仿百度登录页实现拖动窗口效果
2016/03/11 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
JS身份证信息验证正则表达式
2017/06/12 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
python使用rpc框架gRPC的方法
2018/08/24 Python
Python OOP类中的几种函数或方法总结
2019/02/22 Python
初次部署django+gunicorn+nginx的方法步骤
2019/09/11 Python
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
RealTek面试题
2016/06/28 面试题
志愿者活动总结范文
2014/04/26 职场文书
师德师风承诺书
2014/05/23 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
劳动者解除劳动合同通知书
2015/04/16 职场文书
电影建党伟业观后感
2015/06/01 职场文书
永中文档在线转换预览基于nginx配置部署方案
2022/06/10 Servers
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android