1

当 $content 包含 unicode 字符时,以下断言无法正确断言语句。

$matcher = array('tag' => 'div', 'content' => $value);
$this->assertTag($matcher, $content);

目前,我正在使用 assertRegExp 来解决它。

$this->assertRegExp('/<div>' . $value . '<\/div>/', $content);

但如果有人能阐明如何使 assertTag 工作,我将不胜感激。谢谢!

PS 我还应该指出,相同的代码在 Linux 环境中有效,但在 Windows 中无效。

4

1 回答 1

0

您应该能够使用html_entity_decode()htmlentities()ENT_QUOTES标志相反:

$matcher = array('tag' => 'div', 'content' => html_entity_decode($value, ENT_QUOTES));
$this->assertTag($matcher, $content);

或者

$matcher = array('tag' => 'div', 'content' => $value, ENT_QUOTES));
$this->assertTag($matcher, htmlentities($content, ENT_QUOTES);
于 2019-09-24T02:35:25.537 回答