Prechádzať zdrojové kódy

Merge branch 'cherry-pick-624af7ed' into 'master'

cherrypick parser fix into stable

See merge request pleroma/pleroma-fe!1836
HJ 1 rok pred
rodič
commit
321a131c20

+ 1 - 0
changelog.d/parser.fix

@@ -0,0 +1 @@
+fix regex issue in HTML parser/renderer

+ 3 - 1
src/components/rich_content/rich_content.jsx

@@ -149,7 +149,9 @@ export default {
       // Handle tag nodes
       if (Array.isArray(item)) {
         const [opener, children, closer] = item
-        const Tag = getTagName(opener)
+        let Tag = getTagName(opener)
+        if (Tag.toLowerCase() === 'script') Tag = 'js-exploit'
+        if (Tag.toLowerCase() === 'style') Tag = 'css-exploit'
         const fullAttrs = getAttrs(opener, () => true)
         const attrs = getAttrs(opener)
         const previouslyMentions = currentMentions !== null

+ 1 - 1
src/services/html_converter/utility.service.js

@@ -5,7 +5,7 @@
  * @return {String} - tagname, i.e. "div"
  */
 export const getTagName = (tag) => {
-  const result = /(?:<\/(\w+)>|<(\w+)\s?.*?\/?>)/gi.exec(tag)
+  const result = /(?:<\/(\w+)>|<(\w+)\s?.*?\/?>)/gis.exec(tag)
   return result && (result[1] || result[2])
 }