php - 删除换行符和空格

标签 php regex preg-replace preg-match

如何删除 <table> .... </table> 之间的换行符?并在每个

之后添加\n

例如:

<table border="0" cellspacing="0" cellpadding="0" width="450" class="descriptiontable"><tr>
<td width="50%" valign="top">
<span class="displayb">Model Procesor:</span> Intel Celeron<br><span class="displayb">Frecventa procesor (MHz):</span> 2660<br><span class="displayb">Placa Video:</span> Intel Extreme Graphics 2<br><span class="displayb">Retea integrata:</span> 10/100Mbps, RJ-45<br><span class="displayb">Chipset:</span> Intel 845G<br>
</td>
<td width="50%" valign="top">
<span class="displayb">Capacitate RAM (MB):</span> 512<br><span class="displayb">Tip RAM:</span> DDR<br>
</td>
</tr></table>

并成为:

<table border="0" cellspacing="0" cellpadding="0" width="450" class="descriptiontable"><tr><td width="50%" valign="top"><span class="displayb">Model Procesor:</span> Intel Celeron<br><span class="displayb">Frecventa procesor (MHz):</span> 2660<br><span class="displayb">Placa Video:</span> Intel Extreme Graphics 2<br><span class="displayb">Retea integrata:</span> 10/100Mbps, RJ-45<br><span class="displayb">Chipset:</span> Intel 845G<br></td><td width="50%" valign="top"><span class="displayb">Capacitate RAM (MB):</span> 512<br><span class="displayb">Tip RAM:</span> DDR<br></td></tr></table>\n

s.

最佳答案

我认为你的意思是你有一个完整的 HTML 文件/字符串,只想删除表格内的换行符。

您可能应该使用 DOM 解析器来查找 HTML 的相应部分,但这个临时的正则表达式解决方案可能对您来说效果很好:

$str = preg_replace('~[\r\n]+(?=(?:(?!<table).)*</table>)~is', '', $str);
$str = preg_replace('~</table>~i', "$0\n", $str);

如果你想添加 \n仅当它不存在时,您才可以将其作为第二个替代品:

$str = preg_replace('~</table>(?!\n)~i', "$0\n", $str);

这匹配(独立于系统)所有换行符,如果它们后跟 </table>没有<table中间某个地方。当然,这会导致嵌套表和类似问题出现问题。这就是您应该使用 DOM 解析器的原因。

关于php - 删除换行符和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13442156/

相关文章:

php - Preg_match 从一些数字中删除最后的零

带有变音符号和连字的 Python 3 正则表达式,

php - 删除PHP中的部分字符串

php - 如何阻止 Image Magick stripImage() 删除分辨率数据

java - Android 使用 GCM 和 PHP 将通知从设备发送到其他设备

java - 匹配(例如)Unicode 字母与 Java 正则表达式

regex - Bash 脚本 - 反引号/grep 正则表达式字符串中的变量扩展

php - 使用 preg_replace 删除 php 中两个字符串之间的文本

php - 将 YouTube、可下载和简单 URL 链接与 PHP 中的相同文本分开

php - 以数组形式检索 mysql 数据并显示在多个组合框中