php 使用 preg_replace 替换html代码的例子
发布:smiling 来源: PHP粉丝网 添加日期:2016-07-27 13:12:45 浏览: 评论:0
preg_replace 就是用来替换字符了但是有时你会发现一些html代码使用preg_replace 函数替换不掉了,下面我们一起来看一个例子吧,具体如下所示。
例子,评论表情使用的标签<emt>1</emt>至<emt>60</emt>。
对应的图片路径/Public/images/face/1.gif至/Public/images/face/60.gif。
实现方法是使用preg_replace函数完成评论表情的显示。
- <?php
- $message='文章写的太好了<emt>3</emt><emt>34</emt>';
- $message=preg_replace('#<emt>(\d{1,2})</emt>#', '<img src="/Public/images/face/${1}.gif" />', $message);
- echo $message; //phpfensi.com
- ?>
例子:
1.把html元素全部去掉,或者保留某几个html标签
- <?php
- $text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
- echo strip_tags($text);
- echo "/n";
- // Allow <p> and <a>
- echo strip_tags($text, '<p><a>');
- ?>
结果为(去掉了注释):
- <blockquote>Test paragraph. Other text
- <p>Test paragraph.</p> <a href="#fragment">Other text</a></blockquote>2.相反,只去掉某一个html标签
- <?php
- function strip_only($str, $tags, $stripContent = false) {
- $content = '';
- if(!is_array($tags)) {
- $tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags));
- if(end($tags) == '') array_pop($tags);
- }
- foreach($tags as $tag) {
- if ($stripContent)
- $content = '(.+</'.$tag.'[^>]*>|)';
- $str = preg_replace('#</?'.$tag.'[^>]*>'.$content.'#is', '', $str);
- }
- return $str;
- }
- $str = '<font color="red">red</font> text';
- $tags = 'font';
- $a = strip_only($str, $tags); // red text
- $b = strip_only($str, $tags, true); // text
- ?>
Tags: replace php替换html
- 上一篇:PHP中抽象类和接口的区别与例子
- 下一篇:php手机号中间四位用星号*代替显示
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)