當前位置:首頁 » 編程語言 » php正則html

php正則html

發布時間: 2022-05-10 14:54:01

1. php正則表達式查找html內容

php正則表達式查找html內容的方法:
preg_match('/<p align=\"center\"><big><strong>(.*?)<\/strong><\/big><\/p>/',$str,$result);
代碼解釋:
$str就是上面的html裡面的內容;
$result就是匹配到的字元串,可以print_r($result);看看裡面就有你要的結果,或者直接echo $result[1];
就是「在LINUX下配置MYSQL、PHP和JSP」這幾個字元了。

2. php用正則獲取html標簽內容

推薦使用querylist

<?php
header("Content-type:text/html;charset=utf-8");
require'QueryList/QueryList.class.php';
$url="要抓取的網站";
$reg=array(
"title"=>array("a","text"),
"src"=>array("a","href"),
);
//$rang="[id^=post-]";
$hj=QueryList::Query($url,$reg);
print_r($hj->jsonArr);

3. 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中的注釋方法全部內容了,希望大家多多支持腳本之家~

4. 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];
?>

5. PHP正則表達式如何匹配HTML標簽

這個問題類似求括弧配對. 用正則方法可能不行. 可以這樣:

1) 字元串分析法求解: 建立一個計數器, 同時從前向後掃描 html 內容, 從要選擇的段落開頭開始, 每次讀到一個 <td ..> 標簽, 計數器加一, 每次讀到一個 </td> 標簽, 計數器減一, 如果 沒有意外, 當計數器減為零時, 就找到了配對的 td 結束標簽.

2) 用 XmlDocument 讀取整段 html, 然後利用 DOM 的一系列方法選擇出你要的內容.

6. php正則表達式匹配HTML

<?php
$str='<tr>
<tdrowspan="2"class="col">20150630</td>
<tdclass="col">AAAA</td>
<tdclass="col">BBB</td>
<tdclass="col">CCC</td>
<tdclass="col">DDD</td>
</tr>';

preg_match_all('/<td[^>]*>(.*?)</td>/is',$str,$matched);
print_r($matched[1]);
exit;

7. php正則提取HTML中的內容

那就無需正則了!
php本身就有一個函數:strip_tags()
這個函數有2個參數
第一個:需要過濾的字元串, 在這里也就是你說的html, 這個函數必須
第二個:要保留的html標簽, 就是設置你不想過濾掉的html標簽, 這個函數可選!

在第二個參數預設的情況下, 會將所有html標簽過濾掉!

還要什麼正則呢???

8. php 正則匹配<html> 的問題。

<html>(.*)</html> 這樣根本不行,因為源代碼裡面有換行ch(13),還有一些 tab鍵,應該這樣:

preg_match('/<html>([\s\S]*)</html>/iU',$get,$data);
在這里 $get 是所有的的內容,就是要匹配的文章全部,
$data 是正則匹配後的結果,你可以 printf 出來看看。
上面的 [\s\S]* 這是匹配所有字元,所有回車,所有字元。

在舉一個例子給你吧,要設我為最佳哇,哈哈,謝謝。

preg_match('/<div class="contentCenter">([\s\S]*)</div>/iU',$get,$lists);

看這個例子,你就更了解這個函數啦。。。。

9. php正則替換html代碼中的內容

這個簡單,用不上正則,直接字元串替換即可:
$str = "<font size="2" face="楷體\\\\\\\_GB2312"> 犯罪研究與辯護部」、「刑民交叉研究與辯護部」等10餘個專業部門。</font>";

$new_str = str_replace('size="2"', '', $str); // 這是替換為空
$new_str = str_replace('size="2"', 'size=""', $str);//這是替換為空屬性值

熱點內容
python嵌套for循環 發布:2025-05-11 01:51:44 瀏覽:227
安卓怎麼取消後台限制 發布:2025-05-11 01:45:45 瀏覽:257
一鍵搭建sk5伺服器 發布:2025-05-11 01:40:09 瀏覽:513
鴻業acs加密鎖模擬器 發布:2025-05-11 01:38:49 瀏覽:937
神廟逃亡2安卓版怎麼玩 發布:2025-05-11 01:38:05 瀏覽:161
凱傑都什麼配置 發布:2025-05-11 01:38:04 瀏覽:471
php微信開源系統源碼 發布:2025-05-11 01:37:54 瀏覽:813
pythonfor多個參數 發布:2025-05-11 01:12:32 瀏覽:74
plcsfc編程 發布:2025-05-11 01:11:56 瀏覽:166
安卓手機能刪除什麼東西 發布:2025-05-11 01:03:55 瀏覽:415