这可能是你想要的:
<span class=".*?egg.*?">(.+?)<\/span>
使用 PHP,你可以通过以下方式获取你想要的数据:
preg_match_all('/<span class=".*?egg.*?">(.+?)<\/span>/',$text_you_got,$matches);
测试代码:
$text_you_got = 'I ate a <span class="egg">boiled egg</span> and <span class="ham">ham</span>.I ate a <span class="egg ham">ham and eggs</span>.';
preg_match_all('/<span class=".*?egg.*?">(.+?)<\/span>/',$text_you_got,$matches);
var_dump($matches);
结果:
array(2) {
[0]=>
array(2) {
[0]=>
string(35) "<span class="egg">boiled egg</span>"
[1]=>
string(78) "<span class="ham">ham</span>.I ate a <span class="egg ham">ham and eggs</span>"
}
[1]=>
array(2) {
[0]=>
string(10) "boiled egg"
[1]=>
string(12) "ham and eggs"
}
}
如图所示,你可以通过以下方式简单地得到你想要的结果:
$text_you_got = 'I ate a <span class="egg">boiled egg</span> and <span class="ham">ham</span>.I ate a <span class="egg ham">ham and eggs</span>.';
preg_match_all('/<span class=".*?egg.*?">(.+?)<\/span>/',$text_you_got,$matches);
foreach($matches[1] as $item)
{
echo $item."\n";
}