diff options
author | Felipe Pena <felipe@php.net> | 2010-11-16 22:16:44 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2010-11-16 22:16:44 +0000 |
commit | 2e42d64007aea4e116948e105599508bda991bec (patch) | |
tree | 77ef690e67bbce6e7bc1e28987503eefef815ff3 | |
parent | cb2bb12de5adbf6f6797cdfa14cd557f1d7e5144 (diff) | |
download | php-git-2e42d64007aea4e116948e105599508bda991bec.tar.gz |
- Fixed bug #53319 (strip_tags() may strip '<br />' incorrectly)
-rw-r--r-- | ext/standard/string.c | 5 | ||||
-rw-r--r-- | ext/standard/tests/strings/bug53319.phpt | 17 |
2 files changed, 19 insertions, 3 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c index abd33d6ee8..e39b0cb6ec 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -4210,9 +4210,8 @@ int php_tag_find(char *tag, int len, char *set) { if (!isspace((int)c)) { if (state == 0) { state=1; - if (c != '/') - *(n++) = c; - } else { + } + if (c != '/') { *(n++) = c; } } else { diff --git a/ext/standard/tests/strings/bug53319.phpt b/ext/standard/tests/strings/bug53319.phpt new file mode 100644 index 0000000000..0bcc06d5ec --- /dev/null +++ b/ext/standard/tests/strings/bug53319.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #53319 (Strip_tags() may strip '<br />' incorrectly) +--FILE-- +<?php + +$str = '<br /><br />USD<input type="text"/><br/>CDN<br><input type="text" />'; +var_dump(strip_tags($str, '<input>')); +var_dump(strip_tags($str, '<br><input>') === $str); +var_dump(strip_tags($str)); +var_dump(strip_tags('<a/b>', '<a>')); + +?> +--EXPECTF-- +string(47) "USD<input type="text"/>CDN<input type="text" />" +bool(true) +string(6) "USDCDN" +string(0) "" |