一个 php 正则表达式,用于删除 html 中的空格

Sha*_*s88 0 php regex

嗨,我有一个像这样的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)

请问有人可以帮我吗?:)

060*_*002 5

您可以(?<=>)\s+(?=<)|(?<=>)\s+(?!=<)|(?!<=>)\s+(?=<)用空字符串替换。

编辑:有一个更简单的形式:替换(?<=>)\s+|\s+(?=<)

>简单地说,如果该正则表达式左侧有一个或右侧<有一个,则该正则表达式将替换一组一个或多个空格。

它实际上有两个部分通过OR(符号|:)连接,因此任一部分都可以匹配:

  1. (?<=>)\s+\s+-如果前面有 a (在正则表达式中:),则这将匹配一个或多个空格(在<正则表达式中(?<=>))。

  2. \s+(?!=<)- 如果后面跟着一个<(在正则表达式中(?!=<):) ,这将匹配一个或多个空格

了解有关正则表达式的更多信息。