summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2010-11-16 22:16:44 +0000
committerFelipe Pena <felipe@php.net>2010-11-16 22:16:44 +0000
commit2e42d64007aea4e116948e105599508bda991bec (patch)
tree77ef690e67bbce6e7bc1e28987503eefef815ff3
parentcb2bb12de5adbf6f6797cdfa14cd557f1d7e5144 (diff)
downloadphp-git-2e42d64007aea4e116948e105599508bda991bec.tar.gz
- Fixed bug #53319 (strip_tags() may strip '<br />' incorrectly)
-rw-r--r--ext/standard/string.c5
-rw-r--r--ext/standard/tests/strings/bug53319.phpt17
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) ""