TYPO3菜单-将HTML标记添加到stdWrap.override

TYPO3菜单-将HTML标记添加到stdWrap.override,html,typo3,typoscript,Html,Typo3,Typoscript,我用打字稿制作了一个菜单,我用自己的文字覆盖了标准标题: lib.menu = HMENU lib.menu.special = list lib.menu.special.value = 3304, 7753 lib.menu { 1 = TMENU 1 { wrap = <ul class="menu">|</ul> NO { allWrap = <li>|</li>

我用打字稿制作了一个菜单,我用自己的文字覆盖了标准标题:

lib.menu = HMENU
lib.menu.special = list
lib.menu.special.value = 3304, 7753
lib.menu {
    1 = TMENU
    1 { 
        wrap = <ul class="menu">|</ul>  
        NO {
      allWrap = <li>|</li> 
      stdWrap.wrap = |
      ATagBeforeWrap = 1
      stdWrap.htmlSpecialChars = 1
      stdWrap.override = some text <br /> some text! || some text <br /> some text!
        }  
  }
}
lib.menu=humenu
lib.menu.special=列表
lib.menu.special.value=33047753
自由菜单{
1=t菜单
1 { 
包装=
    没有{ allWrap=
  • |
  • stdWrap.wrap=| ATagBeforeWrap=1 stdWrap.htmlSpecialChars=1 stdWrap.override=一些文本
    一些文本!| |一些文本
    一些文本! } } }
    但在输出中,我有一个带有HTML标记的菜单作为文本:

     - some text <br /> some text! 
     - some text <br /> some text!
    
    -一些文本
    一些文本! -一些文字
    一些文字!

    如何将HTML标记解析为HTML?

    问题在于这一行:

    stdWrap.htmlSpecialChars = 1
    
    它通过将HTML特殊字符替换为实体来逃避stdWrap的输入(在本例中是重写的结果)

    如果输入由用户提供或具有用户提供的部分,则应使用它,以防止您的用户破坏前端中的HTML输出或引入XSS漏洞。如果内容是硬编码文本,您可以安全地将其删除


    否则,您应该只转义用户输入,稍后添加HTML,例如使用
    stdWrap.override.htmlSpecialChars=1

    您说得对。谢谢你的信息和帮助!