[英]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.