当前位置:  编程技术>php
本页文章导读:
    ▪优化了的addslashes函数      优化了的addslashes()函数:daddslashes,有需要的朋友可以看看。 物件是老了点,但很实用。   代码如下: function daddslashes($string, $force = 0) {   if(!$GLOBALS['magic_quotes_gpc'] || $force) {     if(is_array(.........
    ▪一个php文本采集类      一个php文本采集类,有需要的朋友可以看看。 使用示例:   代码如下: $C = new Collection(); $C->url = 'http://www./subject_search?cat=1001&search_text=%E5%B9%B4%E8%BD%BB%E4%BA%BA'; $C->startFlag = '<p ></.........
    ▪获得UTF8编码的字符串的长度的函数      获得UTF8编码的字符串的长度的函数:utf8_strlen,有需要的朋友可以参考下。   代码如下: <?php /* * 用于UTF8编码的程序 * 获得字符串的长度,一个中文表示3个长度 */ function utf8_strlen($str) .........

[1]优化了的addslashes函数
    来源: 互联网  发布时间: 2013-12-24

优化了的addslashes()函数:daddslashes,有需要的朋友可以看看。
物件是老了点,但很实用。
 

代码如下:
function daddslashes($string, $force = 0) {
  if(!$GLOBALS['magic_quotes_gpc'] || $force) {
    if(is_array($string)) {
      foreach($string as $key => $val) {
        $string[$key] = daddslashes($val, $force);
      }
    } else {
      $string = addslashes($string);
    }
  }
  return $string;
}

说明:
string addslashes ( string str )
返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(’)、双引号(”)、反斜线(\)与 NUL(NULL 字符)。

一个使用 addslashes() 的例子是当你要往数据库中输入数据时。例如,将名字 O’reilly 插入到数据库中,这就需要对其进行转义。大多数据库使用 \ 作为转义符:O\’reilly。这样可以将数据放入数据库中,而不会插入额外的 \。当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入 ‘ 时将使用 ‘ 进行转义。

默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。
不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。


    
[2]一个php文本采集类
    来源: 互联网  发布时间: 2013-12-24

一个php文本采集类,有需要的朋友可以看看。

使用示例:
 

代码如下:
$C = new Collection();
$C->url = 'http://www./subject_search?cat=1001&search_text=%E5%B9%B4%E8%BD%BB%E4%BA%BA';
$C->startFlag = '<p ></p>';
$C->endFlag        = '<div >';
$C->init();
$C->regExp = "|<div m\"><a href=/index.html"(.*)\">(.*)</a></div><p pl\">(.*)</p>|Uis";
$C->parse();
print_rr($C->result);
*/

php文本采集类文件:
 

代码如下:

<%
/**
模块名:php文本采集类
**/
class Collection{
//入口 公有
var $url;       //欲分析的url地址
var $content; //读取到的内容
var $regExp; //要获取部分的正则表达式
var $codeFrom; //原文的编码
var $codeTo; //欲转换的编码
var $timeout;        //采集等待的时间

var $startFlag;       //文章开始采集的标志 默认为0       在进行采集条目时,只对$startFlag 和 $endFlag之间的文字块进行搜索和采集。
var $endFlag;       //文章结束采集的标志 默认为文章末尾 在进行采集条目时,只对$startFlag 和 $endFlag之间的文字块进行搜索和采集。 
var $block;        //$startFlag 和 $endFlag之间的文字块
//出口 私有
var $result;       //输出结果

//初始化收集器
function init(){
       if(empty($url))
       $this->getFile();
       $this->convertEncoding();
}
//采集所需内容
function parse(){
       $this->getBlock();
       preg_match_all($this->regExp, $this->block ,$this->result,PREG_SET_ORDER);
       return $this->block;
}
//错误处理
function error($msg){
       echo $msg;
}
//读取远程网页 如果成功,传回文件;如果失败传回false
function getFile(){
    $datalines = @file($this->url);
    if(!$datalines){
        $this->error("can't read the url:".$this->url);
        return false;
       } else {
        $importdata = implode('', $datalines);
        $importdata = str_replace()(array ("\r\n", "\r"), "\n", $importdata);   
        $this->content = $importdata;
       }
 }
       //获取所需要的文字块
       function getBlock(){
       if(!empty($this->startFlag))
        $this->block = substr($this->content,strpos($this->content,$this->startFlag));
       if(!empty($this->endFlag))
        $this->block = substr($this->block,0,strpos($this->block,$this->endFlag));
       }
       //内容编码的转换
       function convertEncoding(){
       if(!empty($this->codeTo))
        $this->codeFrom = mb_detect_encoding($this->content);
       //如果给定转换方案,才执行转换。
       if(!empty($this->codeTo))
        $this->content = mb_convert_encoding($this->content,$this->codeTo,$this->codeFrom) or $this->error("can't convert Encoding");
       }
}//end of class
?>


    
[3]获得UTF8编码的字符串的长度的函数
    来源: 互联网  发布时间: 2013-12-24

获得UTF8编码的字符串的长度的函数:utf8_strlen,有需要的朋友可以参考下。
 

代码如下:
<?php
/*
* 用于UTF8编码的程序
* 获得字符串的长度,一个中文表示3个长度
*/
function utf8_strlen($str) {
$count = 0;
for($i = 0; $i < strlen($str); $i++){
$value = ord($str[$i]);
if($value > 127) {
$count++;
if($value >= 192 && $value <= 223) $i++;
elseif($value >= 224 && $value <= 239) $i = $i + 2;
elseif($value >= 240 && $value <= 247) $i = $i + 3;
else die('Not a UTF-8 compatible string');
}
$count++;
}
return $count;
}
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,