HTML Source in Strings und damit arbeiten

TS-JC

Erfahrenes Mitglied
Hallo zusammen

also ich habe mir eine Art kleines CMS zusammen geschustert.

Ich habe eine Tabelle in der der Header und der Footer der Seite liegt.
Desweiteren sollen alle Mittelstücke auch in die Tabelle.

Nun hab ich also ein Formular zum anlegen neuer Seiten.
Da ist eine Textarea in die man den Source eingeben kann.

Hat man nun geklickt kommt eine Zwischenseite wo man die neue Seite testen kann.
Auf der Seite befindet sich atm ein Formular mit dem hidden Feld wo ich den Source reinpacke und ein Button bei dessen klick sich ein neues Fenster öffnet wo dann aus dem Header, hidden-Feld und dem Footer die Seite gebastelt wird, als Vorschau.

Habe nun alle <, >, & und " umgewandelt, aber Probleme bereiten mir die Links.
Denn vor alle " haut der irgendwie nen \

Hoffe jemand hat eine Idee wie cih das ändern kann, evt ist mein Ansatz ja schon falsch.
thx4help
 
thx für die Antwort
habe auf der Seite ein bissle gestöbert und mir den Source angeguckt
Problem lässt sich lösen indem man stripslashes($text) macht
 
ich würde folgende Funktion am anfang jeden scriptes aufrufen, dann haste keine probleme mehr mit magic_quotes

PHP:
    // stripslahes für ein mehrdimensionales Array
    // Funktion wurde von php-faq übernommen
    function array_stripslashes(&$variable)
    {
        // Prüft, ob die Variable ein String ist
        if (is_string($variable))
        	  	// Fall ja, wird stripslashes auf diesen Strin angewandt
        		$variable = stripslashes($variable);
        // Falls nicht, wird geprüft ob sie ein Array ist
        else {
                 // Ist das der Fall, ruft sich die Funktion rekursiv selbst wieder auf
                 if (is_array($variable)) {
                 	foreach($variable AS $key => $value)
                         	array_stripslashes($variable[$key]);
                 }
        }
    }

Aufruf in den Scripten:

PHP:
    if (get_magic_quotes_gpc()) {
    	array_stripslashes($_POST);
       	array_stripslashes($_GET);
     	array_stripslashes($_COOKIE);
    }
 
Zurück