簡體   English   中英

PHP Regex匹配所有HTML標記

[英]PHP Regex match all HTML tags

我正在閱讀包含HTML頁面的一些詳細信息,正在搜索字符串的每次出現,該字符串帶有標簽,我只想讀取該字符串。

例:

<a href="http://www.example.com/search?la=en&q=javascript">javascript</a>
<a href="http://www.example.com/search?la=en&q=PHP">PHP</a>

我只想基於href標記讀取每次出現的TEXT標記,該標記必須包含此標記( http://www.example.com/search?la=en&q= )。

任何想法?

SimpleHtmlDom示例(漂亮嗎?):

// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all links 
foreach($html->find('a') as $element) {
       echo $element->href . '<br>';
       echo $element->text; //this is what you want
}

如果您正在閱讀的HTML頁面非常常規(例如,根據可預測的模式由機器生成),則可以執行以下操作:

preg_match('|<a\s+href="http://www.example.com/search\?la=en&q=(\w+)"\s*>\1</a>|', $page)

但是,如果它變得比這更復雜,則正則表達式可能不足以勝任這項工作-您最好使用完整的HTML解析器來提取鏈接並逐一檢查鏈接以查找您所需要的文本想。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM