[BasicUI] Replace non printable characters (#2284)
Fix #2250 Non printable characters are replaced by the unicode replacement character. Signed-off-by: Laurent Garnier <lg.hc@free.fr>pull/2096/head
parent
4864f43326
commit
1966ba3a53
|
@ -438,7 +438,9 @@ public abstract class AbstractWidgetRenderer implements WidgetRenderer {
|
|||
}
|
||||
|
||||
protected String escapeHtml(@Nullable String s) {
|
||||
return StringEscapeUtils.escapeHtml4(s);
|
||||
String result = StringEscapeUtils.escapeHtml4(s);
|
||||
// Also replace non printable characters by the unicode replacement character
|
||||
return result != null ? result.replaceAll("[\\p{C}]", "\uFFFD") : "";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -2314,10 +2314,13 @@
|
|||
_t.escapeHtml = function(text) {
|
||||
var
|
||||
escapedText = text,
|
||||
nonPrintable = new RegExp(/\p{C}/, "gu"),
|
||||
escapeTable = [
|
||||
[ /&/g, "&" ],
|
||||
[ /</g, "<" ],
|
||||
[ />/g, ">" ]
|
||||
[ /&/g, "&" ],
|
||||
[ /</g, "<" ],
|
||||
[ />/g, ">" ],
|
||||
[ /"/g, """ ],
|
||||
[ nonPrintable, "\uFFFD" ]
|
||||
];
|
||||
|
||||
for (var i = 0; i < escapeTable.length; i++) {
|
||||
|
|
Loading…
Reference in New Issue