2011-12-21 128 views
1

有很多關於它的線程,但我仍然需要幫助。 我需要使用preg_match從HTML標籤中獲取我需要的文本。php preg match - 如何獲取html標記?

的HTML是:

<td> 
<center> 
<b> 
<font face="Arial" color="red">(I need this content)</font> 
</b> 
</center> 
</td> 

(順便說一句我解決我的問題與DOM文檔,但我需要使用的preg_match)

請幫助。

問候。

+1

是你正在尋找的文本*只*將在標籤,或者它可以出現在任何地方?如果您知道文本將包含的常規區域,則可以使用'strip_tags'來刪除所有HTML,並留下所需的文本。 – 2011-12-21 17:57:03

回答

2

This?

<?php 
$html = '<td> 
<center> 
<b> 
<font face="Arial" color="red">(I need this content)</font> 
</b> 
</center> 
</td>'; 

$matches = array(); 

preg_match_all('/<font.*?>(.*?)<\/font>/is', $html, $matches); 

var_dump($matches[1]); 

編輯:您可能要包括「FACE =‘宋體’顏色=‘紅’」 - 位在正則表達式,除非你想匹配每一個字體元素的內容。您可能還想包含<b><center>元素以進一步縮小搜索範圍。

請注意:此HTML看起來非常過時。使用中心和字體元素非常,非常糟糕的做法。所以使用表格進行佈局。

+0

是的,這不是我的代碼,這種方式我需要從舊網站獲取數據。 不幸的是我仍然得到空陣列;/ – 02446 2011-12-21 18:08:34

+0

這很奇怪。我發佈的代碼雖然...(我已經在本地測試過)。 – powerbuoy 2011-12-21 18:30:06

+0

好的,終於工作:)非常感謝! :) – 02446 2011-12-21 18:42:17