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 相关文章推荐
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
Dec 06 PHP
PHP 字符截取 解决中文的截取问题,不用mb系列
Sep 29 PHP
Ajax+PHP边学边练 之五 图片处理
Dec 03 PHP
PHP模块 Memcached功能多于Memcache
Jun 14 PHP
解析PHP生成静态html文件的三种方法
Jun 18 PHP
php代码书写习惯优化小结
Jun 20 PHP
解密ThinkPHP3.1.2版本之模板继承
Jun 19 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
Apr 01 PHP
windows8.1下Apache+Php+MySQL配置步骤
Oct 30 PHP
Symfony2实现在doctrine中内置数据的方法
Feb 05 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
Jul 13 PHP
PHP中串行化用法示例
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 接口类与抽象类的实际作用
2009/11/26 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
jQuery增加自定义函数的方法
2015/07/18 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
js实现3D旋转相册
2020/08/02 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
[07:26]2015国际邀请赛第二日TOP10集锦
2015/08/06 DOTA
Python记录详细调用堆栈日志的方法
2015/05/05 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
python列表推导式操作解析
2019/11/26 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
pandas apply多线程实现代码
2020/08/17 Python
python 高阶函数简单介绍
2021/02/19 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
双语教学实施方案
2014/03/23 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
赞美教师的句子
2019/09/02 职场文书
导游词之峨眉山
2019/12/16 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js