XSLTProcessor::registerPHPFunctions
(PHP 5 >= 5.0.4, PHP 7)
XSLTProcessor :: registerPHPFunctions - 允许将PHP函数用作XSLT函数
描述
void XSLTProcessor::registerPHPFunctions ([ mixed $restrict ] )
该方法使得能够将PHP函数用作XSL样式表中的XSLT函数。
参数
restrict
使用此参数仅允许从XSLT调用某些函数。
此参数可以是字符串(函数名称)或函数数组。
返回值
没有值返回。
例子
Example#1 从样式表调用简单的PHP函数
<?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);
?>
更新日志
版本 | 描述 |
---|---|
5.1.0 | 限制参数已添加。 |
← XSLTProcessor::importStylesheet
XSLTProcessor::removeParameter →
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com