php可以删除html标签内容吗

本文操作环境:windows7系统、PHP7.1版、Dell G3电脑。

php可以删除html标签内容吗?

php删除html标签和标签内的内容的方法

经常扒别人网站文章的坑们;我是指那种批量式采集的压根不看内容的,少不了都会用到删除html标签的函数;这里介绍3种不同用途上的方法;

$str='<div><p>这里是p标签</p><img src="" alt="这里是img标签"><a href="">这里是a标签</a><br></div>';

删除全部或者保留指定html标签

php自带的函数strip_tags即可满足要求,

使用方法:strip_tags(string,allow);

string:需要处理的字符串

allow:需要保留的指定标签,可以写多个;

   <?php
       echo strip_tags($str,'<p><a>');
        
   ?>
   //输出:<p>这里是p标签</p><a href="">这里是a标签</a>

次函数的优点是简单粗暴,但是缺点也很明显;如果有一大堆标签;而我只是想删除指定的某一个;那要写很多需要保留的标签; 所以有了第二个方法;

删除指定的html标签

使用方法:strip_html_tags($tags,$str);

$tags:需要删除的标签(数组格式)

$str:需要处理的字符串;

  <?php
    function strip_html_tags($tags,$str){ 
        $html=array();
        foreach ($tags as $tag) {
            $html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i";
        }
        $data=preg_replace($html, '', $str); 
    } 
    echo strip_html_tags(array('p','img'),$str);
     
   ?>
   //输出<div>这里是p标签<a href="">这里是a标签</a><br></div>;

删除标签和标签的内容

使用方法:strip_html_tags($tags,$str);

$tags:需要删除的标签(数组格式)

$str:需要处理的字符串;

  <?php
    function strip_html_tags($tags,$str){ 
        $html=array();
        foreach ($tags as $tag) {
            $html[]='/(<'.$tag.'.*?>[\s|\S]*?<\/'.$tag.'>)/';
        }
        $data=preg_replace($html,'',$str);
    } 
    echo strip_html_tags(array('a','img'),$str);
     
   ?>
   //输出<div><p>这里是p标签</p><img src="" alt="这里是img标签"><br></div>;

很多网站文章里面会带上网站名和链接,比如<a href="Http://www.baijunyao.com">白俊遥博客</a>;这个函数就是专治这种; 别拿这个函数采集本站啊;不然保证不打死你;

终极函数,删除指定标签;删除或者保留标签内的内容;

使用方法:strip_html_tags($tags,$str,$content);

$tags:需要删除的标签(数组格式)

$str:需要处理的字符串;

$ontent:是否删除标签内的内容 0保留内容 1不保留内容

  <?php
    
    function strip_html_tags($tags,$str,$content=0){
        if($content){
            $html=array();
            foreach ($tags as $tag) {
                $html[]='/(<'.$tag.'.*?>[\s|\S]*?<\/'.$tag.'>)/';
            }
            $data=preg_replace($html,'',$str);
        }else{
            $html=array();
            foreach ($tags as $tag) {
                $html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i";
            }
            $data=preg_replace($html, '', $str);
        }
        return $data;
    }
    echo strip_html_tags(array('a'),$str,1);
   ?>
   //输出<div><p>这里是p标签</p><img src="" alt="这里是img标签"><br></div>;

以上就是php可以删除html标签内容吗的详细内容,更多请关注编程界其它相关文章!

--结束END--

本文标题: php可以删除html标签内容吗

本文链接: https://www.lsjlt.com/news/122.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • php可以删除html标签内容吗

    php可以删除html标签内容,其具体方法是:1、使用php自带的函数strip_tags删除全部或者保留指定html标签;2、通过strip_html_tags()函数删除指定的html标签和标签内容等等。
    阅读数:503 php
  • php 删除json 可以吗

    php可以删除json,其方法是:1、创建一个PHP示例文件;2、获取json数据;3、通过“unset($data['10073']);”方式删除指定的json数据即可。
    阅读数:184 php json
  • php可以修改文件内容吗

    php可以修改文件内容,方法:1、使用fopen()函数打开文件,使用fwrite()函数在打开的文件中写入数据即可修改文件。2、直接使用file_put_contents()函数以清空文件重新添加数据或在文件结尾添加数据的方式修改文件。
    阅读数:309 php 文件操作
  • php可以循环替换吗

    php可以循环替换,方法是:1、创建一个PHP示例文件;2、通过“for($i=1;$i<=$num;$i++){...}”循环语句实现替换即可。
    阅读数:792 php
  • php可以拆分数组吗

    PHP中可以拆分数组;利用“array_chunk()”函数即可拆分数组,该函数用于把一个数组分割为新的数组块,也就是把一个数组分割成多个子数组,并将这些子数组组成一个多维数组来返回,语法为“array_chunk(array,size,preserve_keys);”。本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑php可以拆分数组array_chunk() 函数把一个数
    阅读数:489 php
  • php可以删除文件嘛

    php可以删除文件,其删除文件的方法:1、创建一个PHP示例文件;2、找到要删除的文件;3、通过“unlink(filename,context)”语法实现文件删除即可。
    阅读数:505 php
  • php cookie无法删除吗

    在PHP中,cookie可以删除;可以将cookie的有效期设置为当前时间以前来删除,因为删除cookie需要确保该cookie的有效期在过去,才能够触发浏览器的删除机制,语法为“setcookie("Cookie_name", "" , time()-1);”。本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑php cookie无法删除吗php cookie可以删除要删除c
    阅读数:214 php
  • PHP数组可以返回指定元素吗

    PHP数组可以返回指定元素。三种方法:1、用“$数组变量名[下标]”语句获取数组中指定下标的一个元素;2、用array_slice()获取数组中指定下标的一个或多个连续元素,语法“array_slice($arr,下标,元素个数)”;3、用array_splice()获取数组中指定下标的一个或多个连续元素,语法“array_slice($arr,下标,元素个数)”。本教程操作环境:windows7系
    阅读数:541 php数组 php
  • php怎么删除span标签

    在php中,可以利用strip_tags()函数来删除span标签,该函数可以剥去字符串中的HTML、XML以及PHP的标签,语法“strip_tags(string,allow)”;allow是一个可选参数,用于指定可以被保留下的标签。
    阅读数:487 php 删除标签
  • php怎么删除表的内容

    php删除表的内容的方法:1、创建一个test.php文件;2、连接mysql数据库;3、使用mysqli_select_db选择要操作的数据库;4、使用delete创建一条删除mytest数据表内容的sql语句即可。
    阅读数:260 php
  • php能删除记录图片吗

    php能删除记录图片,其删除方法是:1、创建PHP文件并连接数据库;2、通过“Delete from test1 where id=".$rs['id'];”等语句删除记录图片即可。
    阅读数:711 php
  • php可以调用别的页面方法吗

    PHP可以调用别的页面的方法。调用方法:1、用include语句调用,该语句可将PHP文件内容插入另一个PHP文件中,语法为“include'filename'”;2、用require语句调用,语法为“require'filename'”。
    阅读数:725 PHP
  • php数组中key可以是字符吗

    php数组的键名(key)可以是字符。在php中,统一将字符和字符串当作字符串数据类型,而数组的键名(key)可以是整数类型和字符串类型;因此数组的键名(key)可是整数值、单个字符、字符串或字符与数字混合。本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php数组的键名(key)可以是字符。在其它语言中,字符和字符串是两种不同的数据类型,但在 PHP 中,统一将字符和字符串
    阅读数:598 php数组 php
  • php数组去掉某个值可以吗

    php可以去掉数组中的某个值。两种去除方法:1、通过foreach遍历后用unset()删除,语法“foreach($arr as $k=>$v){if($v==="值"){unset($arr[$k]);}}”;2、通过array_search()查找元素后用unset()删除,语法“unset($arr[array_search("值",$arr,true)])”。本教程操作环境:windows
    阅读数:774 php数组 php
  • php数组的元素可以是数字吗

    php数组的元素可以是数字。因为PHP是弱数据类型的编程语言,所以PHP中的数组可以存储任意多个、任意类型的数据,即数组元素的类型没有限制,可以是数字(整数和浮点数)、字符串、布尔值、数组、Object对象等类型。本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑php数组的元素可以是数字。数组是 PHP 中最重要的数据类型之一,在 PHP 中的应用非常广泛。因为 PHP 是弱
    阅读数:664 php数组 php
  • php中数组的值可以重复吗

    数组的值可以重复。在php中,数组的键名(key)是唯一的、不可以重复存在的,但数组的键值(value)是可以重复存在的。处理重复值的方法:1、使用array_unique()函数,可以删除数组中重复的值;2、使用array_count_values()函数,可以统计数组中所有值出现的次数,会返回一个关联数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。php零基础到就业直播视频课:进
    阅读数:524 php php数组
  • php进行数组搜索可以吗

    php中可以进行数组搜索。php中提供了两种数组搜索函数:1、array_search(),可以在数组中搜索给定的值并返回对应的键名,语法“array_search(搜索值,数组,搜索时是否比较类型)”,返回值为字符串类型;2、array_keys(),用于在数组中搜索给定的值并返回对应的键名,语法“array_keys(数组,搜索值,是否比较类型)”,返回值为数组类型。本教程操作环境:window
    阅读数:307 php数组 php
  • php函数返回值可以是数组吗

    php函数返回值可以是数组。在php函数中,利用return语句来返回函数的运行结果,但return语句只能返回一个参数,即只能返回一个值,不能一次返回多个值;如果要返回多个值,就需要在函数中定义一个数组,将返回值存储在数组中返回,即返回一个数组类型的值,语法“return $arr;”。本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑php函数返回值可以是数组。函数是一个功
    阅读数:619 php数组 php函数 php
  • php可以把数组转化int(整数)数组吗

    可以转化。转化步骤:1、使用foreach语句通过引用循环的方式遍历数组,语法“foreach ($arr as &$v){//循环体语句块;}”;2、在循环体中,使用intval()或者settype()函数将数组元素“$v”都转为int(整数)类型即可,语法“$v=intval($v);”或“settype($v,"int");”。本教程操作环境:windows7系统、PHP8.1版、DELL
    阅读数:486 php数组 php
  • php可以同时输出两个数组吗

    php可以同时输出两个数组,只需要两个数组的键名一致即可。实现步骤:1、利用foreach语句遍历一个数组的键名和键值,语法“foreach ($array1 as $key => $value){//循环体语句块;}”;2、在循环体中,直接输出元素值“$value”且根据键名“$key”输出另一个数组的元素值“$array2[$key]”即可。php零基础到就业直播视频课:进入学习程序员必备接口测
    阅读数:518 php php数组