php 批量替换html标签的实例代码
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
?>
相关推荐
-
php中将html中的br换行符转换为文本输入中的换行符
下面这几个方法将能够帮你解决这个问题. PHP版将html中的<br />换行符转换为文本框中的换行符: 复制代码 代码如下: function br2nl($text){ return preg_replace('/<br\\s*?\/??>/i','',$text);} 或者: 复制代码 代码如下: function br2nl($text){ $text=preg_replace('/<br\\s*?\/??>/i',chr(13),$text); r
-
php自定义函数转换html标签示例
本文实例讲述了php自定义函数转换html标签的方法.分享给大家供大家参考,具体如下: <?php /* * Created on 2016-9-29 * */ $orig = "I'll \"walk\" the <b>dog</b> now"; $a = htmlentities($orig); $b = html_entity_decode($a); echo $a; // I'll "walk" the &l
-
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
fixHtmlTag version 0.2 这个版本解决了上次遗留的问题,即就近闭合和嵌套闭合问题.具体可以看代码的注释. 复制代码 代码如下: <?php /** * fixHtmlTag * * HTML标签修复函数,此函数可以修复未正确闭合的 HTML 标签 * * 由于不确定性因素太多,暂时提供两种模式"嵌套闭合模式"和 * "就近闭合模式",应该够用了. * * 这两种模式是我为了解释清楚此函数的实现而创造的两个名词, * 只需明白什么意思就行.
-
PHP转换文本框内容为HTML格式的方法
本文实例讲述了PHP转换文本框内容为HTML格式的方法.分享给大家供大家参考,具体如下: 有时候我们将会用到将多行文本框中输入的内容以html格式显示出来,这样子可以保持原来的文本格式,如换行.回车等.可以通过下面的函数实现: function shtm($design_str) { $str=trim($design_str); // 取得字串同时去掉头尾空格和空回车 //$str=str_replace("<br>","",$str); // 去掉&
-
PHP实现HTML标签自动补全代码
一般情况下先用PHP的 strip_tags 函数去掉所有html标签,再去掉空格等,然后再用substr或者自己实现的cn_substr函数来实现截取.因为如果不先去掉html标签,直接截取出来的字符串就会有没有闭合的标签出现,有时甚至会截取在标签上面比如 复制代码 代码如下: </di ... 今天遇到一个内容翻页截取问题: 正文是用富文本编辑器写入的,编辑器上有个分页按钮,点击之后就往当前光标位置插入一个蓝色的 复制代码 代码如下: <hr /> 横线.然后php直接存入数据库.显
-
PHP删除HTMl标签的三种解决方法
方法1:直接取出想要取出的标记 复制代码 代码如下: <?php //取出br标记 function strip($str){$str=str_replace("<br>","",$str);//$str=htmlspecialchars($str);return strip_tags($str);}?> 方法2.PHP 中有个 strip_tags 函数可以方便地去除 HTML 标签.echo strip_tags("
-
php去除HTML标签实例
例1.php自带的函数可以去除/删除字符串中的HTML标签/代码.strip_tags(string,allow):函数剥去 HTML.XML 以及 PHP 的标签.参数:string,必填,规定要检查的字符串:allow,选填,规定允许存在的标签,这些标签不会被删除. 复制代码 代码如下: $str = '郭碗瓢盆-<span style="color:#f00;">PHP</span>'; $str1 = strip_tags($str);
-
php获取网页标题和内容函数(不包含html标签)
复制代码 代码如下: function getPageContent($url) { //$url='http://www.ttphp.com; $pageinfo = array(); $pageinfo[content_type] = ''; $pageinfo[charset] = ''; $pageinfo[title] = ''; $pageinfo[description] = '';
-
PHP中HTML标签过滤技巧
在开发文章系统中正常需要用到HTML标签.JS脚本等其他脚本代码的过滤,稍微尝试了下,感觉简单的htmlspecialchars()函数的过滤效果始终不如strip_tags()函数的过滤效果好. 其中有人会说我就想还要显示点图片,那怎么办呢? 没关系,我们对文章内容进行二次处理,正则找出某个图片的地址,然后对整个布局动态调控下,将图片放到最后,其效果还有可能会达到微博或者是Q空间动态的那种效果,多一举两得啊!
-
PHP html标签正则替换并可自定义正则规则
复制代码 代码如下: <?php function pregstring($str){ $strtemp = trim($str); $search = array( "|'|Uis", "|<script[^>].*?</script>|Uis", // 去掉 javascript "|\[字定义\].*\[/字定义\]|Uis", // 去掉缩略图 "|<[\/\!].*?[^<>]*
-
php过滤HTML标签、属性等正则表达式汇总
$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //注释 $str=p
-
PHP将HTML转换成文本的实现代码
核心代码: <?php // $document 应包含一个 HTML 文档. // 本例将去掉 HTML 标记,javascript 代码 // 和空白字符.还会将一些通用的 // HTML 实体转换成相应的文本. $search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript "'<[\/\!]*?[^<>]*?>'si", //
-
php使HTML标签自动补全闭合函数代码
简单解释一些代码: 第一个 ~(<[^>]+?>)~si 这个正则是匹配<--->中的内容.简单说是所有的<标签>. 第二个 ~<([a-z0-9]+)[^/>]*?/>~si 这个正则是匹配<--/>中的内容.是单闭合标签 如<br /> 第三个 ~</([a-z0-9]+)[^/>]*?>~si 这个正则是匹配</......>中的内容.也就是结束标签 如</a> 第四个 ~&
-
php实现过滤表单提交中html标签的方法
本文实例讲述了php实现过滤表单提交中html标签的方法.分享给大家供大家参考.具体实现方法如下: 有时候我们做的简单评论功能会发现有提交很多的html标签,这些标签会导致页面有一些外连的情况,下面我们一起来看在php中过滤表单提交的html标签方法. 近评论中有一些机器人提交的post链接,都是一些垃圾评论.为了减少这种无谓的链接内容出现,其实是可以用php来删除表单POST提交的html标签,这样机器提交的信息也不会得到他们要的结果.而且可以减少来自seo/seo.html" target=
随机推荐
- laydate.js日期时间选择插件
- 定制全新的Win2000另类“位置条”
- 使用vbs下载文件的代码加强版
- 创建dos命令窗口快捷方式的批处理
- Java数组模拟优先级队列数据结构的实例
- Windows下安装python2和python3多版本教程
- XenServer 5.6环境下安装Windows Server 2012详细过程(图文)
- JavaScript组合模式学习要点
- asp.net log4net的使用方法
- DropDownList根据下拉项的Text文本序号排序
- ASP.Net页面生成饼图实例
- php生成二维码时出现中文乱码的解决方法
- python实现二维码扫码自动登录淘宝
- 用ASP和SQL实现基于Web的事件日历
- js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
- 分享一个asp.net pager分页控件
- js文本中搜索关键词输入效果
- 独门绝技修改注册表
- IIS和tomcat5多站点配置流程
- Java中三种简单注解介绍和代码实例