簡體   English   中英

PHP 正則表達式有幫助嗎?

[英]PHP regular expression help?

我在編寫僅與 div class 名稱“classBig1”匹配並且有一個錨鏈接作為其子項的正則表達式時遇到問題。 這是我的代碼,但它不起作用:

preg_match_all ("/<div class=\"headline9\"><a[\s]+[^>]*?href[\s]?=[\s\"\']+".
                    "(.*?)[\"\']+.*?>"."([^<]+|.*?)?<\/a></div>/", 
                    $var, &$matches);

//example HTML: <div class="classBig1"><a href="http://yahoo.com">Go Index99</a></div>

我猜你在代碼中提到了一個錯誤的類名,但我認為它是“classBig1”——請看看我給出的模式。

我相信:

  1. 您只是想獲得那些具有“classBig1”的 class 的“DIV”
  2. 這些“DIV”應該只有一個“A”標簽。

如果是,那么請不要猶豫,抓住這段代碼:-)。

當我嘗試使用示例 HTML 代碼時,它似乎對我有用。

圖案:

"/<div class=\"classBig1\"><a (.*)<\/a><\/div>/"

希望能幫助到你。

如果 HTML 的格式與您的示例一樣好,那么以下正則表達式足以解決您的問題:

  • <div class="classBig1"><a.*?</div>

完整的 PHP 代碼為:

preg_match_all('%<div class="classBig1"><a .*?</div>%', $html,
      $result, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($result[0]); $i++) {
    $match = $result[0][$i];
}

暫無
暫無

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

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