嗨,我有一个类似html的
<html>
<head>
<title>
Some title
</title>
</head>
<body>
<div id="one"> some sample info </div>
</body>
</html>
如何使用preg_replace使用一些正则表达式删除这个html中的空白,除了内容和标记中的空白?所以要得到这样的
<html><head><title>Some title</title></head><body><div id="one">some sample info</div></body></html>
有人能帮我吗??:)
您可以用空字符串替换(?<=>)'s+(?=<)|(?<=>)'s+(?!=<)|(?!<=>)'s+(?=<)
。
编辑:有一种更简单的形式:替换(?<=>)'s+|'s+(?=<)
简单地说,如果左侧有>
或右侧有<
,则此正则表达式将替换一组一个或多个空白。
实际上,它有两个由或(符号:|
)连接的部分,所以其中任何一个都可能匹配:
-
(?<=>)'s+
-如果前面有<
(在regex:(?<=>)
中),则它将匹配一个或多个空白(在regex中为's+
)。 -
's+(?!=<)
-如果后面跟一个<
(在regex:(?!=<)
中),它将匹配一个或多个空白
了解有关regex的更多信息。