这是场景
我正在使用这个正则表达式来获取带有 id test1、tes2 或 test3 的 div 标签内的文本
<div id = "test1">text</div>
<div id = "test2">text</div>
<div id = "test3">text</div>
$id_value = "test1" or "test2" or "test3";
$regex = "#\<div id=\"".$id_value."\"\>(.+?)\<\/div\>#s";
我唯一的要求是在下面的场景中从 div 标签中获取文本
<div id="test" class="testing" style="color:red" etc etc .... more attributes >text</div>
即 id 是 div 标签的第一个属性,后面可以跟 n 个属性。如何仅通过正则表达式从此类标签中提取文本。
我什至试过
$regex = '#<div\s+.*?id="".$id_value."".*?>(.*?)</\s*div>#ims';
它在 $id_value = "test1" 时返回 div 标签的文本,但如果 $id_value="test2" 它返回节点 test1 和 test2 的文本值。如果 $id_value="test3" 它返回所有 3 个节点的文本值。我只需要与特定 id 相关的文本值。仅使用正则表达式。
请帮忙谢谢。