Preg 用换行符匹配所有多行

Pregmatch all multiple line with newline

然后我尝试使用 preg_match_all 函数提取标签之间的十六进制代码 我在使用 regex

时遇到了一些问题
#<\b(html|body)\b[^>]*>(.*?)</\b(html|body)\b>#is

有效,提取所有行但没有新行符号?所以在转换 hex2bin 之后我得到了不可读的部分

#<\b(html|body)\b[^>]*>(.*?)</\b(html|body)\b>#im

有效,但仅提取单行,不提取包含新行的行

那么如何提取包含所有字符的标签之间的十六进制代码。

要匹配十六进制,您可以使用:

(?:0x|$)?[0-9a-f]{5,10}h?

此正则表达式匹配从最少 5 个到最多 10 个字符的十六进制代码。