当前位置:  编程技术>php
本页文章导读:
    ▪php去除HTML标签的二种方法      在php中去除字符串中的HTML标签,常用的方法就是使用strip_tags()函数,只保留字符了。 另外,就是有选择性的去除,需要使用正则表达式。 本节分享二个php去除HTML标签的小例子,供大家参考.........
    ▪php生成图形(Libchart)的代码分享      本节内容: php LIbchart图形生成类   libchart类请自行搜索下载。 例子:   代码示例: <?  /*   LIbchart图形生成类的例子   编辑:www.  */  require "./libchart/classes/libchart.php";  class drawPic{.........
    ▪php ZipArchive压缩函数的例子      本节内容: ZipArchive压缩函数 php编程中,生成zip压缩文件,使用ZipArchive函数即可。 ZipArchive是php的扩展类,自php5.2版本以后支持该扩展。 如果在使用报出错误,请查看下php.ini里面的extension=p.........

[1]php去除HTML标签的二种方法
    来源: 互联网  发布时间: 2013-12-24

在php中去除字符串中的HTML标签,常用的方法就是使用strip_tags()函数,只保留字符了。
另外,就是有选择性的去除,需要使用正则表达式。

本节分享二个php去除HTML标签的小例子,供大家参考。

 例1、php自带的函数可以去除/删除字符串中的HTML标签/代码。
strip_tags(string,allow):函数剥去 HTML、XML 以及 PHP 的标签。
参数:string,必填,规定要检查的字符串;allow,选填,规定允许存在的标签,这些标签不会被删除。

代码:
 

代码示例:
<?php
$str = '郭碗瓢盆-<span >PHP</span>';
$str1 = strip_tags($str);          // 删除所有HTML标签
$str2 = strip_tags($str,'<span>'); // 保留 <span>标签
echo $str1; // 输出 郭碗瓢盆-PHP
echo $str2; // 样式不一样喔
// www.
 

例2、清除HTML标签字符串中某些属性代码
使用PHP处理从数据库中读取的文章HTML代码,然后用正则对代码进行匹配与修改,保存代码以后,用静态生成功能,即可生成修改后的HTML页面。
由于生成的代码是已经处理过的代码,因此不会影响HTML页面的加载速度。

代码:
 

代码示例:
<?php
$str = "<img src="" width="245" height="138" onclick="window.open('xxxx.gif')" />";
$str = preg_replace('#onclick=([sS]*)"#','',$str);
// #符号前面有一个双引号要注意,代表结束的代码
print($str);
?>

您可能感兴趣的文章:

php 去除多余的HTML标签
php删除html标签的三种方法分享
php删除html标签及字符串中html标签的代码
php删除字符串中html标签的函数
去掉内容中 html 标签的代码
提取html标签的php代码
php去除html标签获得输入纯文本文档strip_tags
php使HTML标签自动补全闭合函数的代码
php实现html标签自动补全的代码
thinkPHP的Html模板标签的使用方法

    
[2]php生成图形(Libchart)的代码分享
    来源: 互联网  发布时间: 2013-12-24

本节内容:
php LIbchart图形生成类
 
libchart类请自行搜索下载。

例子:
 

代码示例:

<?
 /*
  LIbchart图形生成类的例子
  编辑:www.
 */
 require "./libchart/classes/libchart.php";
 class drawPic{
  var $chart;
  var $style;
  function drawPic($,$width="500",$height="250"){
   $this->style=$style;
   if($style==1){
    //cylinder
    $this->chart = new VerticalBarChart($width,$height);
   }else if($style==2){
    //line
    $this->chart = new LineChart($width,$height);
   }else if($style==3){
    //Lump
    $this->chart = new PieChart($width,$height);
   }else{
    //cross
    $this->chart=new HorizontalBarChart($width,$height);
   }
  }

  function draw($obj){

   if($this->|$this->1"){
    //cylinder
    $dataSet = new XYDataSet() ;
    $this->chart->setTitle($obj->title);//title
    $arr=array();
    $arr=$obj->dataArray;
    foreach($arr as $key => $val){
     $dataSet->addPoint ( new Point($key,$val)) ;
    }
    $this->chart->setDataSet ( $dataSet ) ;
    $this->chart->render();
   }else if($this->|$this->2"){
    //line
    $this->chart->setTitle($obj->title);//title
    $arr=array();
    $arr=$obj->dataArray;
    $i=0;
    $dataSet = new XYSeriesDataSet();
    foreach($arr as $key => $val){
     $serie{$i}= new XYDataSet();
     foreach($val as $k => $v){
      $serie{$i}->addPoint(new Point($k,$v));
     }
     $dataSet->addSerie($key,$serie{$i});
     $i=$i+1;
    }
    $this->chart->setDataSet($dataSet);
    $this->chart->render();
   }else if($style==3){
    //Lump
    $dataSet = new XYDataSet() ;
    $this->chart->setTitle($obj->title);//title
    $arr=array();
    $arr=$obj->dataArray;
    foreach($arr as $key => $val){
     $dataSet->addPoint ( new Point($key."($val)",$val)) ;
    }
    $this->chart->setDataSet ( $dataSet ) ;
    $this->chart->render();
   }else{
    //cross
    $dataSet = new XYDataSet();
    $this->chart->setTitle($obj->title);//title
    $arr=array();
    $arr=$obj->dataArray;
    foreach($arr as $key => $val){
     $dataSet->addPoint ( new Point($key,$val)) ;
    }
    $this->chart->setDataSet($dataSet);
    $this->chart->render();
   }
  }

 }

 //调用示例
 class kkk{};
 $n=new drawPic("4");//it will set 1 or 2 or 3 or 4
 $k=new kkk();
 $k->dataArray=array("2000"=>"30","2001"=>"40","2002"=>"50","2003"=>"60","2004"=>"70","2005"=>"80","20020"=>"90");//style==1 or style=2 or style=4
 //$k->dataArray=array("2000"=>"30","2001"=>"40","2002"=>"50","2003"=>"60","2004"=>"70","2005"=>"80","20020"=>"90");//style==3
 //$k->dataArray=array("yi"=>array("2000"=>"30","2001"=>"40","2002"=>"50","2004"=>"60"),"er"=>array("2003"=>"60","2004"=>"70","2005"=>"80","20020"=>"90"),"san"=>array("33"=>"12","45"=>"56","89"=>"45","86"=>"49"));//style==2 and the years will show first array to block.(it will be show 2000 2001 2002 2004)
 $k->title="The Sheet title";
 $n->draw($k);
?>
 

方法1,2,4为相同的数组。3为线性图,有可能有两条线或者多条线的比较(也可以单线)。
如果使用中文可能会发现libchart中文乱码。

分享一个不会乱码的方法,如下:
 

代码示例:

<?php
   header("content-type:image/png"); 
   require_once('libchart/classes/libchart.php');

   $chart = new VerticalBarChart( 500 , 250 ) ; // 参数表示需要创建的图像的宽和高
   $dataSet = new XYDataSet() ; // 实例化一个 XY 轴数据对象
     // 为这个对象增加四组数据集合, Point 对象的第一个参数表示 X 轴坐标,
// 第二个表示 Y 轴坐标
   $str = '二月';

$str = mb_convert_encoding($str, "html-entities","utf-8" );
$dataSet -> addPoint ( new Point( "Jan 2005" , 273 )) ;
    $dataSet -> addPoint ( new Point( "$str" , 120 )) ;
    $dataSet -> addPoint ( new Point( "March 2005" , 442 )) ;
    $dataSet -> addPoint ( new Point( "April 2005" , 600 )) ;
     // 把这个数据集合传递给图形对象
    $chart -> setDataSet ( $dataSet ) ;
    // 设置图形的标题,并把它作为一个 png 文件渲染
    $chart -> setTitle ( "统计图" ) ;

    //$chart -> render ( "demo/generated/demo1.png" ) ;
    // 这里需要一个路径和文件名称
    //就这么简单一个像下图一样美丽的柱状图就出来了
    $chart -> render () ;
?>
 

标红字的地方是为了解决中文乱码的。

2、标题乱码:
默认显示中文是乱码,这是由于编码的原因,做如下修改:
首先,更改libchar/libchart/classes/view/chart/Chart.php,找到如下内容:
 

public function setTitle($title) {          
            $this->plot->setTitle($title);
        }

更改为:
 

代码示例:
public function setTitle($title) {
        $title = mb_convert_encoding($title, "html-entities","utf-8" );
           $this->plot->setTitle($title);
}

第三步:就是上面某个博客里讲到的:
1、自己写的使用Libchart 库生成图表的php 文件以utf-8编码保存
2、找几个中文字体库,比如华文行楷、宋体等等,复制到libchart fonts目录下
3、修改libchart classes目录下的text.php 文件
第47、48行
 

$this->fontCondensed = dirname(__FILE__) . "/../fonts/DejaVuSansCondensed.ttf";
$this->fontCondensedBold = dirname(__FILE__) . "/../fonts/DejaVuSansCondensed-Bold.ttf";
 

修改为:
 

代码示例:
$this->fontCondensed = dirname(__FILE__) . "/../fonts/你找来的中文字体";
$this->fontCondensedBold = dirname(__FILE__) . "/../fonts/你找来的中文字体";
 

 
我修改的:
 

代码示例:

public function Text() {
    $baseDir = dirname(__FILE__) . "/../../../";

    // Free low-res fonts based on Bitstream Vera <http://dejavu.sourceforge.net/wiki/>
   $this->fontCondensed = $baseDir . "fonts/FANGZHENGFANGSONG.ttf";
    $this->fontCondensedBold = $baseDir . "fonts/FANGZHENGFANGSONG.ttf";
   }
 

说明:
FANGZHENGFANGSONG.ttf 文件为方正仿宋简体字库。


    
[3]php ZipArchive压缩函数的例子
    来源: 互联网  发布时间: 2013-12-24

本节内容:
ZipArchive压缩函数

php编程中,生成zip压缩文件,使用ZipArchive函数即可。

ZipArchive是php的扩展类,自php5.2版本以后支持该扩展。
如果在使用报出错误,请查看下php.ini里面的extension=php_zip.dll前面的分号有没有去掉,然后再重启Apache即可使用这个类库。

例1、生成zip 压缩文件
 

代码示例:

<?php
/*
* 生成zip 压缩文件
* 编辑:www.
*/
function create_zip($files = array(),$destination = '',$overwrite = false) {
    //if the zip file already exists and overwrite is false, return false
    if(file_exists($destination) && !$overwrite) { return false; }
    //vars
    $valid_files = array();
    //if files were passed in...
    if(is_array($files)) {
        //cycle through each file
        foreach($files as $file) {
            //make sure the file exists
            if(file_exists($file)) {
                $valid_files[] = $file;
            }
        }
    }
    //if we have good files...
    if(count($valid_files)) {
        //create the archive
        $zip = new ZipArchive();
        if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
            return false;
        }
        //add the files
        foreach($valid_files as $file) {
            $file_info_arr= pathinfo($file);
            $zip->addFile($file,$file_info_arr['basename']);//去掉层级目录
        }
        //debug
        //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status;

        //close the zip -- done!
        $zip->close();

        //check to make sure the file exists
        return file_exists($destination);
    }
    else
    {
        return false;
    }
}

define('ROOTPATH',dirname ( __FILE__ )); //网站路径

$files_to_zip = array(
    ROOTPATH.DIRECTORY_SEPARATOR.'PHP+jQuery+Cookbook.pdf',
    ROOTPATH.DIRECTORY_SEPARATOR.'TurboListerZeroTemplate.csv'
);
//if true, good; if false, zip creation failed
$filename='my-archive.zip';
$result = create_zip($files_to_zip,$filename);
 

例2 、压缩文件夹中的所有文件
 

代码示例:

<?php
/*
* zip压缩文件夹下的所有文件
* 编辑:www.
*/
class HZip
{
  /**
   * 添加文件和子目录的文件到zip文件
   * @param string $folder
   * @param ZipArchive $zipFile
   * @param int $exclusiveLength Number of text to be exclusived from the file path.
   */
  private static function folderToZip($folder, &$zipFile, $exclusiveLength) {
    $handle = opendir($folder);
    while (false !== $f = readdir($handle)) {
      if ($f != '.' && $f != '..') {
        $filePath = "$folder/$f";
        // Remove prefix from file path before add to zip.
        $localPath = substr($filePath, $exclusiveLength);
        if (is_file($filePath)) {
          $zipFile->addFile($filePath, $localPath);
        } elseif (is_dir($filePath)) {
          // 添加子文件夹
          $zipFile->addEmptyDir($localPath);
          self::folderToZip($filePath, $zipFile, $exclusiveLength);
        }
      }
    }
    closedir($handle);
  }

  /**
   * Zip a folder (include itself).
   * Usage:
   *   HZip::zipDir('/path/to/sourceDir', '/path/to/out.zip');
   *
   * @param string $sourcePath Path of directory to be zip.
   * @param string $outZipPath Path of output zip file.
   */
  public static function zipDir($sourcePath, $outZipPath)
  {
    $pathInfo = pathInfo($sourcePath);
    $parentPath = $pathInfo['dirname'];
    $dirName = $pathInfo['basename'];
    $sourcePath=$parentPath.'/'.$dirName;//防止传递'folder' 文件夹产生bug
    $z = new ZipArchive();
    $z->open($outZipPath, ZIPARCHIVE::CREATE);//建立zip文件
    $z->addEmptyDir($dirName);//建立文件夹
    self::folderToZip($sourcePath, $z, strlen("$parentPath/"));
    $z->close();
  }
}

//调用示例
HZip::zipDir('yourlife', 'yourlife.zip');
?>

代码说明:
 

1.ZipArchive::addEmptyDir
添加一个新的文件目录

2.ZipArchive::addFile
将文件添加到指定zip压缩包中。

3.ZipArchive::addFromString
添加的文件同时将内容添加进去

4.ZipArchive::close
关闭ziparchive

5.ZipArchive::extractTo
将压缩包解压

6.ZipArchive::open
打开一个zip压缩包

7.ZipArchive::getStatusString
返回压缩时的状态内容,包括错误信息,压缩信息等等

8.ZipArchive::deleteIndex
删除压缩包中的某一个文件,例如:deleteIndex(0)删除第一个文件

9.ZipArchive::deleteName
删除压缩包中的某一个文件名称,同时也将文件删除。


    
最新技术文章:
▪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,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3