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
windows下PHP APACHE MYSQ完整配置
Jan 02 PHP
PHP操作MongoDB时的整数问题及对策说明
May 02 PHP
完美解决thinkphp验证码出错无法显示的方法
Dec 09 PHP
Windows7下的php环境配置教程
Feb 28 PHP
php编写的一个E-mail验证类
Mar 25 PHP
配置Nginx+PHP的正确思路与过程
May 10 PHP
PHP数组函数知识汇总
May 12 PHP
支付宝服务窗API接口开发php版本
Jul 20 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
Oct 08 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
Jul 03 PHP
Centos7安装swoole扩展操作示例
Mar 26 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获取金书网的书名的实现代码
2010/06/11 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
php数组分页实现方法
2016/04/30 PHP
thinkPHP5.0框架URL访问方法详解
2017/03/18 PHP
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
jQuery简单实现对数组去重及排序操作实例
2017/10/31 jQuery
微信小程序如何获取群聊的openGid以及名称详解
2019/07/17 Javascript
Python制作数据导入导出工具
2015/07/31 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
python自动12306抢票软件实现代码
2018/02/24 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
python中时间转换datetime和pd.to_datetime详析
2019/08/11 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
error和exception有什么区别
2012/10/02 面试题
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
教师正风肃纪剖析材料
2014/10/20 职场文书
1000字打架检讨书
2014/11/03 职场文书
先进事迹材料怎么写
2014/12/30 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
2015年财政所工作总结
2015/04/25 职场文书
2015年工商所工作总结
2015/05/21 职场文书
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS