PHP 正则表达式在自定义添加的 HTML 标记之间查找文本

2022-08-30 21:31:36

我有以下场景:

有一个 HTML 模板文件将用于 .mailing

下面是一个简化的示例:

    <table>
<tr>
<td>Heading 1</td>
<td>heading 2</td>
</tr>
<PRODUCT_LIST>
<tr>
<td>Value 1</td>
<td>Value 2</td>
</tr>
</PRODUCT_LIST>
</table>

我需要做的就是获取内部的HTML代码,然后重复该代码的次数与我在数组上的产品一样多。<PRODUCT_LIST>

什么是用于获取/替换此列表的正确PHP正则表达式代码?

谢谢!


答案 1

假设<PRODUCT_LIST>标签永远不会嵌套

preg_match_all('/<PRODUCT_LIST>(.*?)<\/PRODUCT_LIST>/s', $html, $matches);

//HTML array in $matches[1]
print_r($matches[1]);

答案 2

使用简单的 HTML DOM Parser。它易于理解和使用。

$html = str_get_html($content);
$el = $html->find('PRODUCT_LIST', 0);
$innertext = $el->innertext;

推荐