Учебник по основам PHP. PHPBeginner



         

XML-интерпретация - часть 4


$file = "xmltest.xml"; function trustedFile(Sflle) {

// исполнять код можно только в

собственных файлах if (!eregi(""([a-z]+)://". Sfile)

&& fileowner(Sfile) == getmyuid()) ( return TRUE; }

return FALSE. }

function startElement(Sparser. $name. Sattribs) {

print "&lt;<font color=\"#OOOOcc\">Sname</font>"

: if (sizeof(Sattnbs)) { while (list(Sk. $v) = each(Sattnbs))

{ print " <font color=\"#009900\">

$k</font>=\"<font color=\"#990000\">$v</font>\"": } }

print "&gt;": }function endElement(Sparser. Sname) {

print "&lt;/<font color=\"#0000cc\">$name</font>&gt;": }

function characterData(Sparser. $data)

{ print "<b>Sdata</b>"; }

function PIHandler($parser. Starget. $data)

{ switch (strtolower(Starget)) { case "php":

global $parser_file.

// Проверим допустимо ли выпрямить код PHP из документа

// или ограничиться его простым отображением

if (trustedFile($parser_file[Sparser]))

eval($data). else pnntfC'Kofl PHP: <i>fc</i>".

htmlspecialchars(Sdata)): break; } }

function defaultHandler($parser, Sdata) {

if (substrtSdata, 0. 1) == "&" && substr(Sdata. -1. 1)

== ".") { pnntf ('<font color="#aaOOaa">Us</font>'.

html sped a lchars (Sdata)): } else {

printf('<font size="-l">?s</font>'.

htmlspecialchars(Sdata)); } }

function externalEntityRefHandler

(Sparser, SopenEntityNames.

$base. Ssystemld. Spublicld) { if (Ssystemld) {

if (!list($parser. Sfp) = new_xml_parser(Ssystemld)) {

printf("Необрабатываемая секция %s в позиции

Zs\n". SopenEntityNames. Ssystemld);

return FALSE; } while (Sdata = fread($fp. 4096)) {

if (!xml_parse(Sparser. Sdata. feof(Sfp))) {

pnntfC'XML error: Is в стороке %d '%s'

\n". xml_error_string(xml_get_error_code($parser))




Содержание  Назад  Вперед