我正在测试HTML构建器。我想断言生成的内容与预期的内容相匹配,但我想要一些关于空格的灵活性。
具体来说,我不在乎标签之间的空格是缩进的还是空格缩进的,或者它是否都在一行上。我只关心标签,它们的顺序,属性和内容。
如何判断两个HTML片段是否相等?
答案 0 :(得分:0)
自我回答,因为我在任何地方都没有找到这个:
/**
* Compare two HTML fragments.
*/
protected function assertEqualHtml($expected, $actual)
{
$from = ['/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s', '/> </s'];
$to = ['>', '<', '\\1', '><'];
$this->assertEquals(
preg_replace($from, $to, $expected),
preg_replace($from, $to, $actual)
);
}