Moin. Ich habe eine kleine Durchsetzungsfrage.
Ich habe jetzt extra dieses Beispielskript geschrieben für das,
was ich brauche. Undzwar sollen Artikel geschrieben werden
nach einer EInstellung erlaubter html elemente und Attribute
und der Attributwerte, die nur auf ein RegExp matchen dürfen.
Wie ist das mit xml Parsing durchzusetzen?
Sollte jemand vergesen haben, ein Tag abzuschließen,
oder einen Attributwert eingegeben haben, der nichts
aufs muster passt oder ein Element, das nicht erlaubt ist,
soll mit einer Fehlermeldung abgebrochen werden.
xmlparsing in php bzw. überhaupt kenne ich noch nicht.
Ist das durczusetzten? und welche Funktionen müsste ich kennen
bzw. welches Tutorial passt am Besten auf meine Frage?
// edit
HAHA. Is ja leichter als ich dachte.
Hat sich erledigt. Sorry, dass ich zu schnell drauf losgepostet habe.
Ich habe jetzt extra dieses Beispielskript geschrieben für das,
was ich brauche. Undzwar sollen Artikel geschrieben werden
nach einer EInstellung erlaubter html elemente und Attribute
und der Attributwerte, die nur auf ein RegExp matchen dürfen.
Code:
<html>
<head>
<title>Beispiel</title>
</head>
<body>
<?php
if (!empty($_GET['message']))
{
$message = $_GET['message'];
$allowed = array
(
'p' => array
(
'align' => '/^left|right|center$/i'
),
'div' => array
(
// Keine Attribute für divs zulassen
),
'table' => array
(
'width' => '/^[d]{1,3}?px$/',
'border' => '/^[d]{1,3}$/',
'cellpadding' => '/^[d]{1,3}$/',
'cellspacing' => '/^[d]{1,3}$/'
)
);
$valid = true;
// Hier mit Fehlermeldung abbrechen, wenn ein Element oder Attribut benutzt wurde, das nicht in der
// Liste der verwendungserlaubten Elemente und Attribute steht.
$valid = $false;
if (!$valid)
{
// Die Fehler ausgeben
}
}
?>
<form action="index.php">
<textarea name="message"></textarea><br />
<input type="submit" />
</form>
<?php
// messages mit Dateinamen und Inhalt auflisten
chdir('messages');
foreach (glob('*.htm') as $message_path)
echo "<hr /><b>$message_path</b><hr />" . file_get_contents($message_path);
?>
</body>
</html>
Wie ist das mit xml Parsing durchzusetzen?
Sollte jemand vergesen haben, ein Tag abzuschließen,
oder einen Attributwert eingegeben haben, der nichts
aufs muster passt oder ein Element, das nicht erlaubt ist,
soll mit einer Fehlermeldung abgebrochen werden.
xmlparsing in php bzw. überhaupt kenne ich noch nicht.
Ist das durczusetzten? und welche Funktionen müsste ich kennen
bzw. welches Tutorial passt am Besten auf meine Frage?
// edit
HAHA. Is ja leichter als ich dachte.
Hat sich erledigt. Sorry, dass ich zu schnell drauf losgepostet habe.