【问题标题】:PHP XSLT transforming BR tag into <br></br>PHP XSLT 将 BR 标签转换为 <br></br>
【发布时间】:2010-12-08 10:15:02
【问题描述】:

我在 PHP 中使用 XSLT 时遇到了奇怪的问题。 XSL 文件中的所有 br 标记都将转换为
即打开和关闭 br 标记。

此转换导致 Google Chrome 浏览器出现 UI 问题。 Chrome 正在将 转换为另一个
标记,因此 UI 变得杂乱无章。

请尽快帮助我.....

【问题讨论】:

  • 除了@Matthew Wilson 指出的序列化方法之外,我认为不会将文字自封闭空br 输出为带有开始和结束标签的空元素。如果您从输入源复制它,即使使用 XML 序列化,也有一些方法可以保留自封闭的空元素。
  • 我有一个简单的 XSL 文件,其中包含
    转换后 HTML 在
    的位置包含
    这对我来说很奇怪。在 FF 中查看页面时,它会正确显示,但在 Chrome 中,我看到两个换行符而不是一个,因为 Chrome 正在将关闭 tat 转换为另一个 BR 标记。这是我以前从未见过的奇怪行为:(

标签: php xslt google-chrome


【解决方案1】:

你指定了吗

<xsl:output method="html"/>

?

【讨论】:

    【解决方案2】:

    我在 PHP 手册网站 上找到了我的问题的答案。网址:http://php.net/manual/en/xsltprocessor.transformtoxml.php

    它在用户评论中,以下是相同的评论:

    $domTranObj = $xslProcessor->transformToDoc($domXmlObj);

    $domHtmlText = $domTranObj->saveHTML();

    为有效的 XHTML 修复 ,但不要像
    这样正确结束空节点,输出如下:

    一些浏览器将此视为 2 个不同的
    ...

    解决这个问题

    $domTranObj = $xslProcessor->transformToDoc($domXmlObj);

    $domHtmlText = $domTranObj->saveXML();

    【讨论】:

      猜你喜欢
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 2010-09-13
      • 2011-11-13
      • 1970-01-01
      • 2014-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多