XSLTProcessor::registerPHPFunctions
(PHP 5 >= 5.0.4, PHP 7)
XSLTProcessor::registerPHPFunctions — Enables the ability to use PHP functions as XSLT functions
Description
public XSLTProcessor::registerPHPFunctions ([ array|string|null $functions = null ] ) : void
This method enables the ability to use PHP functions as XSLT functions within XSL stylesheets.
Parameters
-
functions
-
Use this parameter to only allow certain functions to be called from XSLT.
This parameter can be either a string (a function name) or an array of functions.
Return Values
No value is returned.
Examples
Example #1 Simple PHP Function call from a stylesheet
<?php $xml = <<<EOB <allusers> <user> <uid>bob</uid> </user> <user> <uid>joe</uid> </user> </allusers> EOB; $xsl = <<<EOB <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl"> <xsl:output method="html" encoding="utf-8" indent="yes"/> <xsl:template match="allusers"> <html><body> <h2>Users</h2> <table> <xsl:for-each select="user"> <tr><td> <xsl:value-of select="php:function('ucfirst',string(uid))"/> </td></tr> </xsl:for-each> </table> </body></html> </xsl:template> </xsl:stylesheet> EOB; $xmldoc = DOMDocument::loadXML($xml); $xsldoc = DOMDocument::loadXML($xsl); $proc = new XSLTProcessor(); $proc->registerPHPFunctions(); $proc->importStyleSheet($xsldoc); echo $proc->transformToXML($xmldoc); ?>
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/xsltprocessor.registerphpfunctions.php