PHP strip_tags保留多个HTML标签的方法

2025-05-29 0 40

本文介绍了PHP strip_tags函数保留多个HTML标签的方法,可以使用第二个参数来设置不需要删除的标签,主要涉及到strip_tags的第二个参数

strip_tags 函数

语法
string strip_tags ( string str [, string allowable_tags] )
返回一个去除了HTML标签的字符串;可以使用第二个参数来设置不需要删除的标签。

使用方法:

前提:假如现在有这样一个字符串,

复制代码 代码如下:


$str = "<p>我来自<b><a href='http://www.zzvips.com'>快网idc</a></b></p>";

1,不保留任何HTML标签,代码会是这样:

复制代码 代码如下:


echo strip_tags($str);
// 输出:我来自快网idc

2,只保留<a>一个标签的话,只需要将<a>字符串写到strip_tags的第二个参数中:

复制代码 代码如下:


echo strip_tags($str, "<a>");
// 输出:我来自<a href='http://www.zzvips.com'>快网idc</a>

3,要保留<p>与<b>…多个标签,只需要将多个标签用空格分隔后写到strip_tags的第二个参数中:

复制代码 代码如下:


echo strip_tags($str, "<p> <b>");
// 输出:<p>我来自<b>快网idc</b></p>

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18
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'));

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP strip_tags保留多个HTML标签的方法 https://www.kuaiidc.com/97980.html

相关文章

发表评论
暂无评论