From 493518dd279921db46a2ef814baee9d0e3a83e9e Mon Sep 17 00:00:00 2001 From: demeritcowboy Date: Wed, 19 Oct 2022 19:51:25 -0400 Subject: [PATCH] af tags are not valid html --- ext/afform/core/Civi/Afform/Symbols.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ext/afform/core/Civi/Afform/Symbols.php b/ext/afform/core/Civi/Afform/Symbols.php index 521f1bfde1..5033d73bc5 100644 --- a/ext/afform/core/Civi/Afform/Symbols.php +++ b/ext/afform/core/Civi/Afform/Symbols.php @@ -35,7 +35,19 @@ class Symbols { */ public static function scan($html) { $symbols = new static(); + $oldErrorStatus = libxml_use_internal_errors(TRUE); $doc = new \DOMDocumentWrapper($html, 'text/html'); + foreach (libxml_get_errors() as $error) { + if (substr($error->message, 0, 3) === 'Tag' && substr(trim($error->message), -7, 7) === 'invalid') { + // ignore? libxml treats e.g. af-field tags as invalid html + } + else { + // This is similar to when use_internal_errors is false. + trigger_error($error->message, E_USER_WARNING); + } + } + libxml_clear_errors(); + libxml_use_internal_errors($oldErrorStatus); $symbols->scanNode($doc->root); return $symbols; } -- 2.25.1