㈠ 怎麼用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;
?>