gpt4 book ai didi

php - 正则表达式 - 从 PHP 中的 html 字符串获取表格

转载 作者:太空宇宙 更新时间:2023-11-04 14:16:29 25 4
gpt4 key购买 nike

我尝试用一​​个特殊的 div 容器将所有表格包装在我的内容中,以使它们可用于移动设备。在将表格保存在自定义 CSS 的数据库中之前,我无法包装表格。在页面上打印之前,我设法获取了内容,我需要preg_replace那里的所有表格。

我这样做是为了获取所有表:

preg_match_all('/(<table[^>]*>(?:.|\n)*<\/table>)/', $aFile['sContent'], $aMatches);

问题是让内部 (?:.|\n)* 匹配标签内的所有内容,而不匹配结束标签。现在表达式匹配所有内容,甚至是表格​​的结束标记...

有没有办法排除结束标签的匹配项?

最佳答案

你需要执行一个非贪婪匹配:/(<table[^>]*>(?:.|\n)*?<\/table>)/ .注意问号:? .

但是,我会为此使用 DOM 解析器:

$doc = new DOMDocument();
$doc->loadHTML($html);

$tables = $doc->getElementsByTagName('table');
foreach($tables as $table) {
$content = $doc->saveHTML($table);
}

虽然使用 DOM 解析器从 HTML 文档中提取数据已经更加方便,但如果您试图修改 HTML(如您所说),这绝对是更好的解决方案。

关于php - 正则表达式 - 从 PHP 中的 html 字符串获取表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25053841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com