XSLTProcessor::registerPHPFunctions

(PHP 5 >= 5.0.4, PHP 7, PHP 8)

XSLTProcessor::registerPHPFunctionsXSLT işlevleri olarak PHP işlevlerinin kullanılması yeteneğini etkin kılar

Açıklama

publicXSLTProcessor::registerPHPFunctions(array|string|null$işlevler = null): void

XSL biçembentlerinde XSLT işlevleri olarak PHP işlevlerinin kullanılabilmesini etkin kılar.

Bağımsız Değişkenler

işlevler

XSLT'den çağrılacak işlevleri belli işlev isimleriyle sınırlamak için kullanılır.

Dizge olarak tek bir işlevin ismi veya dizi olarak işlev isimleri.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - Bir biçembentten bir PHP işlevinin çağrılması

<?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 = new DOMDocument();
$xmldoc->loadXML($xml);
$xsldoc = new DOMDocument();
$xsldoc->loadXML($xsl);

$proc = new XSLTProcessor();
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsldoc);
echo
$proc->transformToXML($xmldoc);
?>
To Top