簡體   English   中英

PHP preg_match_all html

[英]PHP preg_match_all html

我如何為 php 創建一個 preg_match_all 正則表達式模式來給我這個代碼?

<td class="class2">&nbsp;</td>
<td class="class2" align="right"><span class="DarkText">I WANT THIS TEXT</span></td>

讓我在 span 類中獲取文本? 謝謝!

您可以使用:

preg_match_all("!<span[^>]+>(.*?)</span>!", $str, $matches);

然后您的文本將位於第一個捕獲組內(如rubular 所示

順便說一下,請注意regex 不應該用於解析 HTML 使用 XML 解析器會更好,除非它非常非常簡單。

編寫可完美解析HTML的Regexes很難。 而是使用這樣的HTML解析器: http : //simplehtmldom.sourceforge.net/ 它易於使用,在這里我多次推薦它。

你也可以不使用! 在開始和結束時,並在T-Regx 中使用更簡單的代碼

$pattern = "<span[^>]+>(.*?)</span>"; // no delimiters :)

$string = '
<td class="class2">&nbsp;</td>
<td class="class2" align="right"><span class="DarkText">I WANT THIS 
TEXT</span></td>
';

然后只需使用match()->group()

$text = Pattern::of($pattern)->match($string)->group(1)->first();

$text // 'I WANT THIS TEXT'

在線查看: https : //regex101.com/r/nxTvS1/1

暫無
暫無

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

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