From 4c2920064d561701016476b91ce28813e2368270 Mon Sep 17 00:00:00 2001 From: xue <> Date: Wed, 3 May 2006 18:19:13 +0000 Subject: Fixed #154: HTML comments are now parsed as regular template strings. --- framework/Web/UI/TTemplateManager.php | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'framework/Web') diff --git a/framework/Web/UI/TTemplateManager.php b/framework/Web/UI/TTemplateManager.php index b065b4de..86567243 100644 --- a/framework/Web/UI/TTemplateManager.php +++ b/framework/Web/UI/TTemplateManager.php @@ -127,9 +127,7 @@ class TTemplateManager extends TModule * - directive: directive specifies the property values for the template owner. * It is in the format of <% property name-value pairs %> * - expressions: They are in the formate of <= PHP expression > and <% PHP statements > - * - comments: There are two kinds of comments, regular HTML comments and special template comments. - * The former is in the format of <!-- comments -->, which will be treated as text strings. - * The latter is in the format of <%* comments %>, which will be stripped out. + * - comments: Special template comments enclosed within <!-- comments --!> will be stripped out. * * Tags other than the above are not required to be well-formed. * @@ -147,13 +145,12 @@ class TTemplate extends TApplicationComponent implements ITemplate { /** * '' - template comments - * '' - HTML comments * '<\/?com:([\w\.]+)((?:\s*[\w\.]+=\'.*?\'|\s*[\w\.]+=".*?"|\s*[\w\.]+=<%.*?%>)*)\s*\/?>' - component tags * '<\/?prop:([\w\.]+)\s*>' - property tags * '<%@\s*((?:\s*[\w\.]+=\'.*?\'|\s*[\w\.]+=".*?")*)\s*%>' - directives * '<%[%#~\\$=\\[](.*?)%>' - expressions */ - const REGEX_RULES='/||<\/?com:([\w\.]+)((?:\s*[\w\.]+=\'.*?\'|\s*[\w\.]+=".*?"|\s*[\w\.]+=<%.*?%>)*)\s*\/?>|<\/?prop:([\w\.]+)\s*>|<%@\s*((?:\s*[\w\.]+=\'.*?\'|\s*[\w\.]+=".*?")*)\s*%>|<%[%#~\\$=\\[](.*?)%>/msS'; + const REGEX_RULES='/|<\/?com:([\w\.]+)((?:\s*[\w\.]+=\'.*?\'|\s*[\w\.]+=".*?"|\s*[\w\.]+=<%.*?%>)*)\s*\/?>|<\/?prop:([\w\.]+)\s*>|<%@\s*((?:\s*[\w\.]+=\'.*?\'|\s*[\w\.]+=".*?")*)\s*%>|<%[%#~\\$=\\[](.*?)%>/msS'; /** * Different configurations of component property/event/attribute @@ -618,15 +615,11 @@ class TTemplate extends TApplicationComponent implements ITemplate } else if(strpos($str,'')===strlen($str)-4) // template comments - { - if($expectPropEnd) - throw new TConfigurationException('template_comments_forbidden'); - if($matchStart>$textStart) - $tpl[$c++]=array($container,substr($input,$textStart,$matchStart-$textStart)); - $textStart=$matchEnd+1; - } - // else, HTML comments and we do nothing + if($expectPropEnd) + throw new TConfigurationException('template_comments_forbidden'); + if($matchStart>$textStart) + $tpl[$c++]=array($container,substr($input,$textStart,$matchStart-$textStart)); + $textStart=$matchEnd+1; } else throw new TConfigurationException('template_matching_unexpected',$match); -- cgit v1.2.3