Просмотр исходного кода

AsciiEffect: Add `escapeHTML()`. (#33567)

Michael Herzog 1 месяц назад
Родитель
Сommit
469751fe99
1 измененных файлов с 14 добавлено и 1 удалено
  1. 14 1
      examples/jsm/effects/AsciiEffect.js

+ 14 - 1
examples/jsm/effects/AsciiEffect.js

@@ -119,6 +119,19 @@ class AsciiEffect {
 
 		}
 
+		const htmlEscapes = {
+			'&': '&',
+			'<': '&lt;',
+			'>': '&gt;',
+		};
+
+		const reUnescapedHtml = /[&<>]/g;
+
+		function escapeHTML( s ) {
+
+			return s.replace( reUnescapedHtml, ( ch ) => htmlEscapes[ ch ] );
+
+		}
 
 		const strFont = 'courier new, monospace';
 
@@ -141,7 +154,7 @@ class AsciiEffect {
 		let aCharList;
 		if ( charSet ) {
 
-			aCharList = ( charSet ).split( '' );
+			aCharList = ( charSet ).split( '' ).map( escapeHTML );
 
 		} else {
 

粤ICP备19079148号