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 相关文章推荐
打造计数器DIY三步曲(中)
Oct 09 PHP
PHP 网页过期时间的控制代码
Jun 29 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
用PHP代码给图片加水印
Jul 01 PHP
PHP is_array() 检测变量是否是数组的实现方法
Jun 13 PHP
php实现贪吃蛇小游戏
Jul 26 PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 PHP
php 判断IP为有效IP地址的方法
Jan 28 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
Feb 12 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
PHP设计模式(观察者模式)
Jul 07 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
屏蔽浏览器缓存另类方法
2006/10/09 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
PHP函数getenv简介和使用实例
2014/05/12 PHP
javascript 面向对象的JavaScript类
2010/05/04 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
Javascript调用C#代码
2011/01/17 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
Js参数值中含有单引号或双引号问题的解决方法
2013/11/06 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
Bootstrap 响应式实用工具实例详解
2017/03/29 Javascript
微信小程序 选项卡的简单实例
2017/05/24 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
Nuxt v-bind绑定img src不显示的解决
2019/12/05 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
简单的Python抓taobao图片爬虫
2014/10/26 Python
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
python使用win32com库播放mp3文件的方法
2015/05/30 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
Django框架验证码用法实例分析
2019/05/10 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
CSS3 2D模拟实现摩天轮旋转效果
2016/11/16 HTML / CSS
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
质检的岗位职责
2013/11/17 职场文书
大学生演讲稿范文
2014/01/11 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
商务司机岗位职责
2015/04/10 职场文书