搜尋
首頁後端開發PHP問題如何使用正規替換的方式實現清除字串中所有的HTML標籤?

上篇文章给大家介绍了《PHP中我们如何自定义匹配手机号的正则表达式?(附代码)》,本文继续给大家介绍如何使用正则替换的方式实现清除字符串中所有的HTML标签?(详细介绍)

如何使用正規替換的方式實現清除字串中所有的HTML標籤?

如何编写一个函数,使用正则替换的方式能够实现清除字符串中所有的HTML标签?

如果我们想要去清楚字符串HTML的标签去要把HTML的标签全部列出来,首先我们先把字符串定义下来,总的来说我们HTML的标签主要有两种情况,一种是双标签以什么开始,以什么结束,另外一种就是单标签(或者是input)结束,一般情况下,我们不会把这个标签给删掉,比如说写一个(input)标签的文本域,如果我们把标签删掉了,文本域就没了,因此我们不会直接这样做,我们会把相对应的标签转化为实体,假如,我们直接输出(echo)$str;我们运行结果,空白栏外是front标签,里面是普通的文本域,(代码结果如下所示)

<?php
/**** ***清楚字符串HTML标签* *******/
$str =&#39;<font>高考加油</font><input type="text"/>&#39;;
echo $str;
?>

代码结果如下所示

如何使用正規替換的方式實現清除字串中所有的HTML標籤?

以上这种情况,如果我们要是清除,是不行的,因此,我们会对上述代码进行替换,首先,我们先定义一个函数,function demo(),给到一个字符串,紧接着我们定义正则,$pattern,然后我们需要使用到两个符号,第一(/),第二个是(/>/S),当我们找到之后,我们进行替换,$replace,一个是(<)另一个是(>),最后我们直接(return)他们的结果。输出(echo)demo($str),最后我们得到的结果就是原样输出,

代码如下:

<?php
/**** ***清楚字符串HTML标签* *******/
$str =&#39;<font>高考加油</font><input type="text"/>&#39;;
echo $str;


function demo($str){
    //定义正则
    $pattern = array(
    &#39;/</S&#39;,
    &#39;/>/S&#39;
    );
    $replace = array(&#39;<&#39;,&#39;>&#39; );
    return preg_replace($pattern, $replace, $str);
}
    echo &#39;<hr/>&#39; ;
    echo demo($str);
?>

代码结果如下所示;

如何使用正規替換的方式實現清除字串中所有的HTML標籤?

其实一样,我不使用这个函数,系统中也有其他的函数帮我们实现;

例如:

  • (htmlentities)---将字符串转换为HTML转义字符。

  • (htmlspecialchars)---特殊字符转换为HTML实体。

现在我们用(htmlspecialchars)函数进行编码,然后进行代码演示:

代码如下:

<?php
/**** ***清楚字符串HTML标签* *******/
$str =&#39;<font>高考加油</font><input type="text"/>&#39;;
echo $str . &#39;<hr/>&#39;;
echo htmlspecialchars($str);
function demo($str){
    //定义正则
    $pattern = array(
    &#39;/</S&#39;,
    &#39;/>/S&#39;
    );
    $replace = array(&#39;<&#39;,&#39;>&#39; );
    return preg_replace($pattern, $replace, $str);
}
    echo &#39;<hr/>&#39; ;
    echo demo($str);
?>

代码结果如下所示;

如何使用正規替換的方式實現清除字串中所有的HTML標籤?

从上述代码演示结果看出,我们所得到的结果是一样的,这就是我们所实现的替换,然而对于我们今天讨论的清除,道理是一样的,我们还是定义一个正则表达式,

我们以代码为例:

<?php
/**** ***清楚字符串HTML标签* *******/
$str =&#39;<font>高考加油</font><input type="text"/>&#39;;
echo $str . &#39;<hr/>&#39;;
echo htmlspecialchars($str);
function demo($str){
    //定义正则
    $pattern = array(
    &#39;/</S&#39;,
    &#39;/>/S&#39;
    );
    $replace = array(&#39;<&#39;,&#39;>&#39; );
    return preg_replace($pattern, $replace, $str);
}
    echo &#39;<hr/>&#39; ;
    echo demo($str);
    echo &#39;<hr/>&#39;;
    $str =&#39;<font color="" >高考加油</font>&#39;;
    $pattern = &#39;/<.*?>(.*?)<\/.*?>/S&#39;;
    echo preg_replace($pattern,&#39;\1&#39;,$str);
?>

代码结果如下所示;

如何使用正規替換的方式實現清除字串中所有的HTML標籤?

通过上述代码我们可以清楚地看到,标签已经清除了,只剩下内容了;

推荐学习:《PHP视频教程

以上是如何使用正規替換的方式實現清除字串中所有的HTML標籤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。