我在PHP中使用strip_tags,在处理完字符串之后,字符串现在也没有包含\ n ..
这个标准是strip_tags吗?
答案 0 :(得分:9)
嗯,难以测试吗? :)
class StripTagsTest extends PHPUnit_Framework_TestCase {
public function testStripTagsShouldNotRemoveLF() {
$input = "Hello\n <b>World</b>\n";
$actual = strip_tags($input);
$expected = "Hello\n World\n";
$this->assertEquals($expected, $actual);
}
public function testStripTagsRemovesBRTagByDefault() {
$expected = "HelloWorld\n";
$input = "Hello<br>World<br>\n";
$actual = strip_tags($input);
$this->assertEquals($expected, $actual);
$input = "Hello</br>World</br>\n";
$actual = strip_tags($input);
$this->assertEquals($expected, $actual);
}
public function testStripTagsCanPermitBRTags() {
$expected = "Hello<br>World<br>\n";
$actual = strip_tags($expected, '<br>');
$this->assertEquals($expected, $actual);
$expected = "Hello</br>World</br>\n";
$actual = strip_tags($expected, '<br>');
$this->assertEquals($expected, $actual);
}
}
此测试将通过。使用单引号时的结果相同。所以,不,strip_tags不会删除\ n。
编辑:
正如此处的其他人已经指出的那样 - strip_tags可能会删除您案例中的<br>
标记。此外,下次,如果您提供一些代码,您将更快地得到答案。
添加了两个新测试:)
答案 1 :(得分:3)
Strip_tags不应该删除\ n但是它可能会删除<br>
。
尝试添加标签列表以允许:
strip_tags('Hello<br>World', '<br>');
此shold允许<br>
标记保留在字符串中。