PHP XSLT transforming BR tag into

2019-09-08 18:54发布

问题:

I am facing strange issue while using XSLT in PHP. All the br tags in XSL files are getting converting into <br></br> i.e. opening and closing of br tag.

This conversion is creating UI issues in Google Chrome browser. Chrome is converting </br> into another <br> tag hence UI is getting gabbled.

Please help me ASAP.....

回答1:

Have you specified

<xsl:output method="html"/>

?



回答2:

I found the answer to my question on PHP manual site. URL: http://php.net/manual/en/xsltprocessor.transformtoxml.php

It was in a user comment, following is the same comment:

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

$domHtmlText = $domTranObj->saveHTML();

Do fix the <meta> for valid XHTML but do not correctly end empty node like <br /> which ouput like this : <br></br>

Some browser note this as 2 different <br /> ...

To fix this use

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

$domHtmlText = $domTranObj->saveXML();