㈠ 怎么用php正则去掉html标签,<img><a><p><br>除外
可以使用strip_tags函数
<?php
$rr = strip_tags($str,'<img><a><p><br>');
echo $rr;
?>
㈡ php正则表达来获取html中的部分内容
1、几种函数的简单说明:
(1)preg_grep -- 返回与模式匹配的数组单元
preg_grep 返回一个input 数组中与给定的 pattern 模式相匹配的单元所组成的数组。
(2)preg_match -- 进行正则表达式匹配
说明:int preg_match ( string pattern, string subject [, array matches [, int flags]] )在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。 返回值0或1。
(3)preg_replace -- 执行正则表达式的搜索和替换
(4)preg_split -- 用正则表达式分割字符串
2. 一般来说,如果用正则来获取匹配内容,一般使用 preg_match/ preg_match_all 函数。
补充回答:
正则表达式如下:
'%<div class="wap2"><span>功能</span>(.*?)</div>%si'
以下是代码,经测试,运行正常:
<?php
$str = '<div class="wap2"><span>功能</span>这里面是要获取的内容,不能确定什么字符,可能是数字(123456…)字母(badn…),特殊浮等(o_O\(^o^)/…)</div>';
$pa = '%<div class="wap2"><span>功能</span>(.*?)</div>%si';
preg_match($pa,$str,$r);
echo $r[1];
?>
㈢ 求教php正则高手。php正则获取html内容中的所有CSS路径及名称,替换CSS的路径
#href="([^"]*?([^"/]+.css))"#i
其中 $1 为/default/css/css.css
$2 为 css.css
$a='<linkhref="/default/css/css.css"rel="stylesheet"type="text/css">';
$b=preg_replace('#href="([^"]*?([^"/]+.css))#i','href="/style/css/$2',$a);
$b//<linkhref="/style/css/css.css"rel="stylesheet"type="text/css">
㈣ php使用正则表达式去掉html中的注释方法
最近在项目中在需要输出浏览器中的源文件需要去掉html中的注释,在网上看了很多的方案,不过很多的答案都是一样的,并不能解决我的问题,于是就自己写正则表达式,也对正则有了更加深刻的理解。
首先比较基础的是:
$a
=
'<!--ceshi-->ceshi';
$a
=
preg_replace('#<!--.*-->#'
,
''
,
$a);
var_mp($a);
上面的代码会输出ceshi。
但是如果是下面的字符串的话,就不能达到我们希望的效果了
$a
=
'<!--ceshi-->ceshi<!--ceshi-->';
$a
=
preg_replace('#<!--.*-->#'
,
''
,
$a);
var_mp($a);
于是我们就把匹配规则改成如下的格式
preg_replace('#<!--.*?-->#'
,
''
,
$a);
但是在html中如果有<!--[if
lt
IE
9]>ceshi<![endif]-->这样的代码的话是不能去掉的,所以我们需要改进匹配规则,改成以下的格式
preg_replace('#<!--[^\!\[]*?-->#'
,
''
,
$a);
又接着如果html中有<script><!--ceshi//--></script>的代码,我们又需要改一下我们的匹配规则了,改成了以下格式
preg_replace('#<!--[^\!\[]*?(?<!\/\/)-->#'
,
''
,
$a);
这样的话我基本上就去掉了我需要去掉的html的注释了!
以上就是小编为大家带来的php使用正则表达式去掉html中的注释方法全部内容了,希望大家多多支持脚本之家~
㈤ php 正则表达式替换
<?php
@header('Content-type:text/html;charset=GBK');
$subject='<imgtitle="美国留学网站"alt="美国留学网站">美国留学网站<imgtitle="美国留学网站"alt="美国留学网站">';
$pattern="/(留学)(?![^'"><]*['"])/";
$result=preg_replace($pattern,"<a>$1</a>",$subject);
echo$result;
?>