Regexp,用于扫描另一个标记中包含标记的子字符串


Regexp for scanning substring with tags inside another tag

我有一个可能包含子字符串的字符串:

<h1 style="margin: 0; padding: 0" class="title_big">Item title <span style="white-space: nowrap"> (5 entries)</span></h1>

或者只是

<h1 style="margin: 0; padding: 0" class="title_big">Item title</h1>

(没有内部SPAN)现在我不知道如何编写regexp。目前正在使用这样一个:

$pat='/<h1 style="margin: 0; padding: 0" class="title_big">([^>]*)<'/h1>/si';

但它当然不会为具有内部SPAN 的子字符串返回匹配

如果将$pat设置为这个值,它应该可以工作:

$pat = '/<h1 style="margin: 0; padding: 0" class="title_big">(.*?)<'/h1>/uim';