php正则获取关键字、标题、网页描述代码

 更新时间:2016年11月25日 15:47  点击:1382
本文章来给大家介绍关于php正则获取关键字、标题、网页描述代码,有需要了解的同学可进入参考。

获取关键字

 代码如下 复制代码


function get_keywords($html)
{
$html=strtolower($html);
preg_match("@<head[^>]*>(.*?)</head>@si",$html, $regs); 
$headdata = $regs[1];
preg_match("/<meta +name *=["']?keywords["']? *content=["']?([^<>"]+)["']?/i", $headdata, $res);
if (isset ($res)) {
$keywords = $res[1];
}
if ($keywords == "") $keywords = "无";
$keywords=replace_word(textcut($keywords,250));
$keywords=str_replace("-",",",$keywords);
$keywords=str_replace(",",",",$keywords);
$keywords=str_replace(" ",",",$keywords);
$keywords=str_replace("|",",",$keywords);
$keywords=str_replace("、",",",$keywords);
$keywords=str_replace(",,",",",$keywords);
$keywords=str_replace("<","",$keywords);
$keywords=str_replace(">","",$keywords);
return addslashes(trim($keywords));
}

获取标题

 代码如下 复制代码

function get_title($html)
{
  $html=strtolower($html);
 $title = str_replace(" - ",",",cut($html,"<title>", "</title>" ));
//if ($title == "") $title = "无标题";
if ($title) $title=replace_word(textcut($title,80));
if ($title) $title=preg_replace("/<(.*?)>/","",$title);
return addslashes(trim($title));
}

获取网页描述description

 代码如下 复制代码

function get_description($html)
{
$html=strtolower($html);
preg_match("@<head[^>]*>(.*?)</head>@si",$html, $regs); 
$headdata = $regs[1];
preg_match("/<meta +name *=["']?description["']? *content=["']?([^<>"]+)["']?/i", $headdata, $res);
      if (isset ($res)) {
       $description = $res[1];
      }
if ($description == "") $description = "无";
$description=replace_word(textcut($description,250));
$description=str_replace("-",",",$description);
$description=str_replace(",",",",$description);
$description=str_replace(" ",",",$description);
$description=str_replace("|",",",$description);
$description=str_replace("、",",",$description);
$description=str_replace(",,",",",$description);
$description=str_replace("<","",$description);
$description=str_replace(">","",$description);
return addslashes(trim($description));
}

本文章来给大家介绍关于php判断值是否为空实例代码,有需要了解的朋友可进入参考参考。

php实际应用中一般都是用isset()函数来做判断的。

示例如下:

 代码如下 复制代码

if( isset($_GET[’name’]) )//判断传来的值是否为空。 

       echo "值为空"; 

使用说明:

1、空值、0、false的赋值结果均被isset判为 TRUE
2、NULL将被isset判为 FALSE 
3、isset()同样适用于数组元素和对象元素的检查。若数组或对象实例未被定义,则检测其中的数组元素/对象元素将被返回false。

empty功能:检测变量是否为“空”


很简单的,给一个例子。
方法一:

 

 代码如下 复制代码
$sql = "select * form abc"
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
if(empty($row))//开始判断是够为空
{
echo "null";
}
else
{
echo "not null";
}

方法二:

 代码如下 复制代码


$sql = "select * form abc"
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
if(!$row)//开始判断是够为空
{
echo "null";
}
else
{
echo "not null";
}

其实mysql_fetch_array函数在使用的时候如果表是空表的话,就会返回false,这个时候$row自然没有赋


说明:值为 0 或 false 或 空字符串”" 或 null的变量、空数组、都将判断为 null
注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错。

 

 代码如下 复制代码
$a = 0;
$b = array();
if ($a == null) echo '$a 为空' . "";
if ($b == null) echo '$b 为空' . "";
if ($c == null) echo '$b 为空' . "";
// 显示结果为
// $a 为空
// $b 为空
// Undefined variable: c

4. is_null功能:检测变量是否为“null”
说明:当变量被赋值为“null”时,检测结果为true
注意1:null不区分大小写:$a = null; $a = NULL 没有任何区别
注意2:仅在变量的值为“null”时,检测结果才为true,0、空字符串、false、空数组都检测为false
注意3:变量未初始化时,程序将会报错

 

 代码如下 复制代码

$a = null;
$b = false;
if (is_null($a)) echo '$a 为NULL' . "";
if (is_null($b)) echo '$b 为NULL' . "";
if (is_null($c)) echo '$c 为NULL' . "";
// 显示结果为
// $a 为NULL
// Undefined variable: c

在php中删除目录中的文件我们需要遍历目录中的文件,然后获取文件的时间,我们再进行判断这个文件是不是过期了,如果适合条件就可以删除了。

删除文件

 代码如下 复制代码

file_delete = "home/meeta/my.php";

if (unlink($file_delete)) {
echo "The file was deleted successfully.", "n";
} else {
echo "The specified file could not be deleted. Please try again.", "n";
}
?>

下面加了判断文件是否存在

 代码如下 复制代码

$myfile = "./test1.txt";
if (file_exists($myfile)) {
$result=unlink ($myfile);
echo $result;
}
?>

删除指定文件夹根目录指定日期之前文件

 代码如下 复制代码

<?php
function del_dir($dir){    //删除目录
    if(!($mydir=@dir($dir))){
        return;
    }
    while($file=$mydir->read()){
        if(is_dir("$dir$file") && $file!='.' && $file!='..'){
            @chmod("$dir$file", 0777);
            del_dir("$dir$file");
        }elseif(is_file("$dir/$file")){
            $file_time=@stat($file);    //读取文件的最后更新时间
            if(time()-$file_time>3600*24*14){
                @chmod("$dir/$file", 0777);
                @unlink("$dir/$file");
            }
        }
    }
    $mydir->close();
    @chmod($dir, 0777);
    @rmdir($dir);
}
?>

使用ckeditor编辑器的朋友都知道,ckeditor编辑器有分页功能,但是如果想在页面中显示出分页效果就必须要我们自己在程序中来操作了,下面我来给大家介绍php ckeditor编辑器文章分页实现方法,有需要的朋友可参考。

Fckeditor编辑器有一个插入分页符的功能按钮,点击该按钮,将会在内容区插入一条分页符,如下图红色框标注:

分页符对应生成的html代码是:

 代码如下 复制代码

<div style="page-break-after: always"><span style="display: none"> </span></div>


我们实际应用情况是这样的:后台通过Fckeditor编辑器发布的内容,提交到数据库,前台通过PHP链接数据库获取发布的内容,然后将长内容进行分割,并进行分页。

Fckeditor是一款所见即所得的WEB编辑器,它常被用作后台编辑发布信息。当要发布的内容很多很长时,就要考虑前台显示的分页效果了,本文将使用jQuery,并结合PHP,将Fckeditor发布的内容进行分页,并且实现无刷新切换页面。

关于Fckeditor使用,笔者不想多言。本文假设你是WEB开发人员,掌握了jQuery和PHP相关知识,并且熟知Fckeditor的配置和使用。

Fckeditor编辑器有一个插入分页符的功能按钮,点击该按钮,将会在内容区插入一条分页符,如下图红色框标注:

分页符对应生成的html代码是:

 代码如下 复制代码

<div style="page-break-after: always"><span style="display: none"> </span></div> 


我们实际应用情况是这样的:后台通过Fckeditor编辑器发布的内容,提交到数据库,前台通过PHP链接数据库获取发布的内容,然后将长内容进行分割,并进行分页。

 

PHP

PHP将内容分割的方法如下:

 代码如下 复制代码

function pageBreak($content){ 
    $content  = $content; 
    $pattern  = "/<div style="page-break-after: always"><span style="display: none">  
</span></div>/"; 
    $strSplit = preg_split($pattern, $content, -1, PREG_SPLIT_NO_EMPTY); 
    $count    = count($strSplit); 
    $outStr   = ""; 
    $i        = 1; 
 
    if ($count > 1 ) { 
        $outStr   = "<div id='page_break'>"; 
        foreach($strSplit as $value) { 
            if ($i <= 1) { 
                $outStr .= "<div id='page_$i'>$value</div>"; 
            } else { 
                $outStr .= "<div id='page_$i' class='collapse'>$value</div>"; 
            } 
            $i++; 
        } 
 
        $outStr .= "<div class='num'>"; 
        for ($i = 1; $i <= $count; $i++) { 
            $outStr .= "<li>$i</li>"; 
        } 
        $outStr .= "</div></div>"; 
        return $outStr; 
    } else { 
        return $content; 
    } 

可以看出啦,上述代码中的$pattern就是Fckeditor编辑器生成的分页符代码,然后PHP通过preg_split()函数比对内容,以分隔符为分界点,将内容分割为多个page_,并且生成分页导航按钮。使用时只需调用pageBreak($content)即可。

CSS

我们通过CSS来呈现分页按钮的风格,当然你可以修改这些CSS,定制你想要的外观。

 代码如下 复制代码

#page_break {} 
#page_break .collapse {display: none;} 
#page_break .num {padding: 10px 0;text-align: center;} 
#page_break .num li{display: inline; margin: 0 2px;padding: 3px 5px;border:1px solid #abcee4; 
background-color: #fff;color: #369;text-align: center;cursor: pointer;overflow: hidden;} 
#page_break .num li.on{background-color: #369;color: #fff;font-weight: bold;} 

jQuery

 代码如下 复制代码
$(function(){ 
    $('#page_break .num li:first').addClass('on'); 
 
    $('#page_break .num li').click(function(){ 
        //隐藏所有页内容 
        $("#page_break div[id^='page_']").hide(); 
 
        //显示当前页内容。 
        if ($(this).hasClass('on')) { 
            $('#page_break #page_' + $(this).text()).show(); 
        } else { 
            $('#page_break .num li').removeClass('on'); 
            $(this).addClass('on'); 
            $('#page_break #page_' + $(this).text()).fadeIn('normal'); 
        } 
    }); 
}); 

我们使用jQuery将分页导航按钮的第一页设置为当前状态,然后通过单击分页按钮,切换按钮的状态,并且显示对应页的内容

本文章来给大家介绍利用php 读目录以列表形式展示,读取目录我们会使用到scandir,opendir,foreach,sizeof这几个常用的函数,下面我们直接看实例。

例1

 代码如下 复制代码

<?php
 
$getUrl = (empty($_GET['url'])) ? './' : $_GET['url'].'/';
 
function fileName($dir)
{
 
    $fileAll = scandir($dir,0);
    $pathDir = $pathFile = array();
    $count = count($fileAll);
 
    if($count <= 2){
        echo "空目录<br />";
    }
     
    foreach($fileAll as $pdf){
        if(is_dir($dir.$pdf)){
            $pathDir[] = $pdf;
        }else{
            $pathFile[] = $pdf;
        }
    }
 
    foreach($pathDir as $pd){
        if($pd == '.' or $pd == '..') continue;
        echo "<a href="?url=$dir$pd">$pd</a><br />";
    }
 
    foreach($pathFile as $pf){
        echo "<a href="$dir$pf" target="_blank">$pf</a><br />";
    }
 
    if($dir != './'){
        $dir = rtrim($dir,'/'); 
        $dir = explode('/',$dir);
        unset($dir[sizeof($dir)-1]);
        $dir = implode('/',$dir);
        echo "<a href="?url=$dir">Go Back</a>";
    }
 
}
 
fileName($getUrl);

例2

 代码如下 复制代码

<?php

/**
 * Goofy 2011-11-30
 * getDir()去文件夹列表,getFile()去对应文件夹下面的文件列表,二者的区别在于判断有没有“.”后缀的文件,其他都一样
 */

//获取文件目录列表,该方法返回数组
function getDir($dir) {
 $dirArray[]=NULL;
 if (false != ($handle = opendir ( $dir ))) {
  $i=0;
  while ( false !== ($file = readdir ( $handle )) ) {
   //去掉"“.”、“..”以及带“.xxx”后缀的文件
   if ($file != "." && $file != ".."&&!strpos($file,".")) {
    $dirArray[$i]=$file;
    $i++;
   }
  }
  //关闭句柄
  closedir ( $handle );
 }
 return $dirArray;
}

//获取文件列表
function getFile($dir) {
 $fileArray[]=NULL;
 if (false != ($handle = opendir ( $dir ))) {
  $i=0;
  while ( false !== ($file = readdir ( $handle )) ) {
   //去掉"“.”、“..”以及带“.xxx”后缀的文件
   if ($file != "." && $file != ".."&&strpos($file,".")) {
    $fileArray[$i]="./imageroot/current/".$file;
    if($i==100){
     break;
    }
    $i++;
   }
  }
  //关闭句柄
  closedir ( $handle );
 }
 return $fileArray;
}

//调用方法getDir("./dir")……可以是绝对路径也可以是相对路径
?>

[!--infotagslink--]

相关文章

  • PHP成员变量获取对比(类成员变量)

    下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • php获取一个文件夹的mtime的程序

    php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
  • 如何获取网站icon有哪些可行的方法

    获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
  • jquery如何获取元素的滚动条高度等实现代码

    主要功能:获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 :$(document).width();...2015-10-21
  • 一个关于JS正则匹配的踩坑记录

    这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
  • C# 中的var关键字详细介绍

    这篇文章主要介绍了C# 中的var关键字详细介绍的相关资料,需要的朋友可以参考下...2020-06-25
  • jquery获取div距离窗口和父级dv的距离示例

    jquery中jquery.offset().top / left用于获取div距离窗口的距离,jquery.position().top / left 用于获取距离父级div的距离(必须是绝对定位的div)。 (1)先介绍jquery.offset().top / left css: 复制代码 代码如下: *{ mar...2013-10-13
  • Jquery 获取指定标签的对象及属性的设置与移除

    1、先讲讲JQuery的概念,JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队。其实 JQuery是一个JavaScript的类库,这个类库集合了很多功能方法,利用类库你可以用简单的一些代...2014-05-31
  • C#获取字符串后几位数的方法

    这篇文章主要介绍了C#获取字符串后几位数的方法,实例分析了C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • jquery获取tagName再进行判断

    如果是为了取到tagName后再进行判断,那直接用下面的代码会更方便: $(element).is('input') 如果是要取到标签用作到别的地方,可以使用一下代码: $(element)[0].tagName 或: $(element).get(0).tagName...2014-05-31
  • DOM XPATH获取img src值的query

    复制代码 代码如下:$nodes = @$xpath->query("//*[@id='main_pr']/img/@src");$prurl = $nodes->item(0)->nodeValue;...2013-10-04
  • C#中的yield关键字的使用方法介绍

    yield这个关键字是和迭代器挂钩的,而且是与return一起以yield return的形式合用的,用来返回迭代器中的条目。...2020-06-25
  • PHP 如何获取二维数组中某个key的集合

    本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享。 具体是这样的,如下一个二维数组,是从库中读取出来的。 代码清单: 复制代码 代码如下: $user = array( 0 => array( 'id' => 1, 'name' => '张三', 'ema...2014-06-07
  • php获取汉字拼音首字母的方法

    现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序。这是中国人大多数使用的排序方法。那么在php程序中该如何操作呢?下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的大多数是有问题的...2015-10-23
  • 使用C#获取系统特殊文件夹路径的解决方法

    本篇文章是对使用C#获取系统特殊文件夹路径的解决方法进行了详细的分析介绍,需要的朋友参考下...2020-06-25
  • php如何获取文件的扩展名

    网上也有很多类似的方法,不过都存在这样那样的不严谨的问题,本文就不一一分析了,这里只给出最正确的利用php 获取文件扩展名(文件后缀名)的方法。 function get_extension($filename){ return pathinfo($filename,PATHIN...2015-10-30
  • JS基于正则截取替换特定字符之间字符串操作示例

    这篇文章主要介绍了JS基于正则截取替换特定字符之间字符串操作方法,结合具体实例形式分析了JS基于正则实现针对特殊字符、数字等字符串类型的截取操作相关技巧,需要的朋友可以参考下...2017-02-08
  • Spring Data JPA 关键字Exists的用法说明

    这篇文章主要介绍了Spring Data JPA 关键字Exists的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-10
  • php关键字仅替换一次的实现函数

    对于批量替换关键字的问题,仅替换而言没什么可说的,但这里需要的是每个关键字仅需要替换一次就可以了。查阅了php相关函数文档,发现php本身是没有函数实现这个功能的,所以不得不自己解决了。总结了几种可行方法,小记一下! (1...2015-10-30