php常用函数之strip_tags函数用法

 更新时间:2016年11月25日 16:45  点击:2128
strip_tags函数是过滤字符串中的html标签了,今天我们一起来看看这strip_tags函数的具体使用方法了,希望例子能够对各位有用。

A,定义和用法

strip_tags() 函数去除字符串中的 HTML、XML 以及 PHP 的标签。

strip_tags(string,allow)

参数    描述

string    必需。规定要检查的字符串。

allow    可选。规定允许的标签。这些标签不会被删除。

注释:该函数始终会剥离 HTML 注释。这点无法通过 allow 参数改变。

B,例子

例1

echo strip_tags("Hello <b>world!</b>");

输出:

Hello world!

例2

echo strip_tags("Hello <b><i>world!</i></b>","<b>");

输出:

Hello world!


例子3、 strip_tags() example

 
<?php$text = '<p>Test paragraph.</p><!-- Comment --> Other text';echo strip_tags($text);echo "\n";// Allow <p>echo strip_tags($text, '<p>');?>
 

上例将输出:

Test paragraph. Other text
<p>Test paragraph.</p> Other text


实例4:

<?php
    $str = "Hello <b><i>world</i></b>!";
    echo strip_tags($str);
    echo '<br />';
    echo strip_tags($str, '<b><i>');
?>

输出结果:

Hello world!
Hello world!

例子5

如果要使用php删除html标记中的特定标签呢?

这个就需要代码来实现了,如下:


    function strip_selected_tags($text, $tags = array())
    {
        $args = func_get_args();
        $text = array_shift($args);
        $tags = func_num_args() > 2 ? array_diff($args,array($text)) : (array)$tags;
        foreach ($tags as $tag){
            if( preg_match_all( '/<'.$tag.'[^>]*>([^<]*)</'.$tag.'>/iu', $text, $found) ){
                $text = str_replace($found[0],$found[1],$text);
            }
        }

        return preg_replace( '/(<('.join('|',$tags).')( | |.)*/>)/iu', '', $text);
    }

    $str = "[url="]123[/url]";
echo strip_selected_tags($str,array('b'));

php date(): It is not safe 警告错误是因为说timezone没有设置,在中国使用的是格林+8小时,所以需要设置一下。

 升级php版本从PHP5.2.17 到 PHP 5.3.21 后出现如下保存
 
 date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. …

 

解决办法

 

 在程序中使用

 date_default_timezone_set('PRC');

 

 或者在php.ini里找到date.timezone这行,把值改成PRC,如date.timezone = PRC。如果没有这一行直接加上就好

 
 [Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/New_York

floor会产生小数了如果我们不希望有小数我们是可以去除小数点的了,下面一聚教程小编来为各位介绍php使用floor去掉小数点的例子,希望对各位有帮助。


float floor ( float value)    舍去法取整

返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为float 值的范围通常比 integer 要大。

例子1、floor去掉小数点功能

$min=(strtotime('21:20:00') ? strtotime('18:30:00'))/60;

//php去掉小数点后的全部数字

$hour=floor($min/60);

$overMin=$min%60;

//大于50分钟算一小时

if($overMin>=50){

$hour+=1;

}

例子

<?php 

echo floor(4.3);   // 4 

echo floor(9.999); // 9 

?>

float ceil ( float value)    进一法取整

返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为float 值的范围通常比 integer 要大。

<?php 

echo ceil(4.3);    // 5 

echo ceil(9.999);  // 10 

?>

float round ( float val [, int precision])    对浮点数进行四舍五入
返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。

<?php 
echo round(3.4);         // 3 
echo round(3.5);         // 4 
echo round(3.6);         // 4 
echo round(3.6, 0);      // 4 
echo round(1.95583, 2);  // 1.96 
echo round(1241757, -3); // 1242000 
echo round(5.045, 2);    // 5.04 
echo round(5.055, 2);    // 5.06 
?>

strtotime在php中是时间的一个操作了,php strtotime函数自带了许多的参数了,每一个参数返回的内容会稍的区别了,下面我们来看看在strtotime中+day 或者 +days返回是什么样的结果呢
+3 day:
echo date( 'Y-m-d H:i:s', strtotime( '+3 day' ) );
+3 days:
echo date( 'Y-m-d H:i:s', strtotime( '+3 days' ) );

输出的结果都是相同的。

下面都是相似的用法

strtotime( '+1 day' );

strtotime( '+3 day' );

strtotime( '+1 days' );

strtotime( '+3 days' );

strtotime( '+1 weeks' );

strtotime( '+3 week' );

出现这个问题的原因是php不是一个严格的编程语言。

strtotime函数的一些用法
1、 strtotime(”JAN”)和strtotime(”January”)
这两个用法的效果是一样的,都是返回指定月份的今天,如果指定月份没有今天,则顺延到下一个月。 如在2011-03-31计算二月,代码:

echo date("Y-m-d H:i:s", strtotime("feb", strtotime("2011-03-31")));

程序会输出: 2011-03-03 00:00:00。 从表象来看,这个结果也许不一定是我们想要的,但是这也算是一种解决方案,这种方案是由什么决定的呢? strtotime函数在执行月份的计算时只计算了月份,相当于直接将月份设置为指定的月份的值,而如jan,january都会有一个对应内部数值。
2、 first关键字
first是一个辅助型的关键字,它可以与星期,天等可以指定确认值的关键字组合使用,如求2011年的第一个星期天:

echo date("Y-m-d H:i:s", strtotime("second sunday", strtotime("2011-01-01"))), "<br />";

在PHP的源码中,对于first与星期和天的组合使用是分开的,即first day对应一个处理操作, 在最终的C实现中,天的值指定为1,即time结构中的d字段指定为1,如下代码:

switch (time->relative.first_last_day_of) {  

         case 1: /* first */  

             time->d = 1;  

             break;  

         case 2: /* last */  

             time->d = 0;  

             time->m++;  

             break;  

     }

3、previous和next关键字
与first类似,previous关键字可以与星期,天组合使用,表示指定时间的前一个星期几或前一天。如下所示代码:

echo date("Y-m-d H:i:s", strtotime("previous sunday", strtotime("2011-02-01"))), "<br />"; 
程序会输出:2011-01-30 00:00:00


程序求2011-02-01的前一个星期天。
next关键字与previous相反,它表示下一个星期几或后一天。
4、 last关键字
last关键字既可以作为上一个,也可以作为最后一个。如求上一个星期天的日期:

echo date("Y-m-d H:i:s", strtotime("last sunday", strtotime("2011-02-05"))), "<br />"; 
程序会输出: 2011-01-30 00:00:00


当程序作为最后时,其应用场景是指定日期所在月的最后一天,相当于date(”t”)的结果。如求2000年2月的最后一天:

echo date("Y-m-d H:i:s", strtotime("last day", strtotime("2000-02-01"))), "<br />";

first、previous、last和this关键字在re文件中属于同一组。
5、 back和front关键字
这两个关键字是对一天中的小时的向前和向后操作,其调用格式如下:

echo date("Y-m-d H:i:s", strtotime("back of 24", strtotime("2011-02-01"))), "<br />";  

echo date("Y-m-d H:i:s", strtotime("front of 24", strtotime("2011-02-01"))), "<br />";

•back表示将时间设置指定小时值的后一个小时的15分的位置。如果是24点,则算到第二天的0点15分。
•front表示将时间设置指定小时值的前一个小时的45分的位置。如果是0点,则算前一天的23点45分。


上面的代码输出:2011-02-02 00:15:00 2011-02-01 23:45:00。 其中back of和front of后接的数组必须大于等于0并且小于等于24。

本文章为各位介绍一篇关于PHP实现时间轴函数例子,如果对于PHP实现时间轴函数不了解可以和小编一起来看看。

本文介绍如何用PHP将时间显示为“刚刚”、“5分钟前”、“昨天10:23”等时间轴形式,而不是直接显示具体日期和时间。
本文将介绍如何实现基于时间轴的时间的转换。
首先我们要明白时间的几个函数:
time():返回当前的 Unix 时间戳
date():格式化一个本地时间/日期。
应用举例:
 

date("Y-m-d H:i:s",time());


格式化当前时间,输出:2010-10-11 05:27:35
strtotime():将任何英文文本的日期时间描述解析为 Unix 时间戳。
应用举例:
 

echo strtotime("+1 day"), "\n";


输出1天前的时间戳:1286861475
date_default_timezone_set():设定要用的默认时区。
一般我们设置北京时间:date_default_timezone_set("PRC");
理解上面几个函数后我们来写时间轴函数:
该函数的原理就是将系统当前时间与目标时间比较,得到一个差值,再将差值与时间范围(转换成秒)比较,根据其处在时间轴的范围输出不同的结果(如:5分钟前)。为了便于计算,我们将时间都转换成Unix时间戳。
 

function tranTime($time) { 

    $rtime = date("m-d H:i",$time); 

    $htime = date("H:i",$time); 

     

    $time = time() - $time; 

 

    if ($time < 60) { 

        $str = '刚刚'; 

    } 

    elseif ($time < 60 * 60) { 

        $min = floor($time/60); 

        $str = $min.'分钟前'; 

    } 

    elseif ($time < 60 * 60 * 24) { 

        $h = floor($time/(60*60)); 

        $str = $h.'小时前 '.$htime; 

    } 

    elseif ($time < 60 * 60 * 24 * 3) { 

        $d = floor($time/(60*60*24)); 

        if($d==1) 

           $str = '昨天 '.$rtime; 

        else 

           $str = '前天 '.$rtime; 

    } 

    else { 

        $str = $rtime; 

    } 

    return $str; 

}


函数tranTime()中的参数$time必须为Unix时间戳,如果不是请先用strtotime()将其转换成Unix时间戳。上面的代码一看就明白了,不用再多述。
调用函数,直接输出:

 

$times="1286861696 "; 

echo tranTime($times);

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C#中using的三种用法

    using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句 定义一个范围,将在此...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • C# 10个常用特性汇总

    这篇文章主要介绍了C# 10个常用特性,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-09
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
  • php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法

    最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的。最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在。 1.使用 PEAR 的...2015-10-21
  • C#中加载dll并调用其函数的实现方法

    下面小编就为大家带来一篇C#中加载dll并调用其函数的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25