gpt4 book ai didi

php - 从 HTML 中删除带有换行符的空标签

转载 作者:可可西里 更新时间:2023-10-31 23:45:49 25 4
gpt4 key购买 nike

我有以下 HTML:

<body>Summary: <br>
<table class="stats data tablesorter marg-bottom">
<thead><tr><th>Team</th><th>Wins</th><th>Losses</th><th>Ties</th><th>Win %</th></tr></thead>
<tbody>

<tr>
<td>Team 1</td>
<td>95</td>
<td>74</td>
<td>0</td>
<td>56.21</td>
</tr>

<tr>
<td>Team 2</td>
<td>74</td>
<td>95</td>
<td>0</td>
<td>43.79</td>
</tr>

</tbody>
</table>


<div>
</div>
</body>

我想要这样的结果:

<body>Summary: <br>
<table class="stats data tablesorter marg-bottom">
<thead><tr><th>Team</th><th>Wins</th><th>Losses</th><th>Ties</th><th>Win %</th></tr></thead>
<tbody>
<tr>
<td>Team 1</td>
<td>95</td>
<td>74</td>
<td>0</td>
<td>56.21</td>
</tr>
<tr>
<td>Team 2</td>
<td>74</td>
<td>95</td>
<td>0</td>
<td>43.79</td>
</tr>
</tbody>
</table>
</body>

最简单的方法是正确编码,不幸的是,它来自一个非常非常旧的 CKEditor 版本,我无法升级它(由于其他影响)。

什么 preg_replace或递归函数或循环我可以运行以删除空的 <div>标签和不需要的空行?

最佳答案

假设您将此 HTML 保存在名为 $html 的变量中:

// Replace empty <div> tags with nothing
$html = preg_replace("/<div>\s*<\/div>/", "", $html);

// Replace multiple newlines in a row with a single newline
$html = preg_replace("/\n+/", "\n", $html);

echo $html;

编辑

完整的工作代码,包括输出:

<?php

$html = <<<END
<body>Summary: <br>
<table class="stats data tablesorter marg-bottom">
<thead><tr><th>Team</th><th>Wins</th><th>Losses</th><th>Ties</th><th>Win %</th></tr></thead>
<tbody>

<tr>
<td>Team 1</td>
<td>95</td>
<td>74</td>
<td>0</td>
<td>56.21</td>
</tr>

<tr>
<td>Team 2</td>
<td>74</td>
<td>95</td>
<td>0</td>
<td>43.79</td>
</tr>

</tbody>
</table>


<div>
</div>
</body>

END;

// Replace empty <div> tags with nothing
$html = preg_replace("/<div>\s*<\/div>/", "", $html);

// Replace multiple newlines in a row with a single newline
$html = preg_replace("/\n+/", "\n", $html);

echo $html;

// OUTPUT:

// <body>Summary: <br>
// <table class="stats data tablesorter marg-bottom">
// <thead><tr><th>Team</th><th>Wins</th><th>Losses</th><th>Ties</th><th>Win %</th></tr></thead>
// <tbody>
// <tr>
// <td>Team 1</td>
// <td>95</td>
// <td>74</td>
// <td>0</td>
// <td>56.21</td>
// </tr>
// <tr>
// <td>Team 2</td>
// <td>74</td>
// <td>95</td>
// <td>0</td>
// <td>43.79</td>
// </tr>
// </tbody>
// </table>
// </body>

?>

关于php - 从 HTML 中删除带有换行符的空标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38137487/

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