嗨,我有一个像这样的html
<html>
<head>
<title>
Some title
</title>
</head>
<body>
<div id="one"> some sample info </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如何使用 preg_replace 使用某些正则表达式删除此 html 中的空格(内容和标签内的空格除外)?所以得到这样的东西
<html><head><title>Some title</title></head><body><div id="one">some sample info</div></body></html>
Run Code Online (Sandbox Code Playgroud)
请问有人可以帮我吗?:)
您可以(?<=>)\s+(?=<)|(?<=>)\s+(?!=<)|(?!<=>)\s+(?=<)用空字符串替换。
编辑:有一个更简单的形式:替换(?<=>)\s+|\s+(?=<)
>简单地说,如果该正则表达式左侧有一个或右侧<有一个,则该正则表达式将替换一组一个或多个空格。
它实际上有两个部分通过OR(符号|:)连接,因此任一部分都可以匹配:
(?<=>)\s+\s+-如果前面有 a (在正则表达式中:),则这将匹配一个或多个空格(在<正则表达式中(?<=>))。
\s+(?!=<)- 如果后面跟着一个<(在正则表达式中(?!=<):) ,这将匹配一个或多个空格
了解有关正则表达式的更多信息。