[英]Regex preg_match_all between two tags and condition
我正在尝试使用条件在两个标签之间获取内容。
因此,这是一个示例,我想获取所有tr,但仅包含/ c的那些。
示例字符串:
<tr><td> /a </td></tr>
<tr><td> /b </td></tr>
<tr><td> /c </td></tr>
<tr><td> /d </td></tr>
使用到目前为止我得到的所有tr
preg_match_all("/<tr.*<\/tr>/", $input_lines, $output_array);
我需要怎么做才能使其正常工作?
谢谢
preg_match_all("/<td>([^<]*/c[^<]*)<\/td>/", $input_lines, $output_array);
换句话说:每当正则表达式遇到<
而没有找到/c
,它将失败。
如果其他html标记可能位于td中,则需要将[^<]*
替换为.*?
。
<td>([^<]*/c[^<]*)<\/td>
注意:使用.*?
可能导致不必要的贪婪结果,请参见以下示例:
<td>(.*?/c.*?)<\/td>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.