| 
                 
                
                
                 
                
		 
	
		| Precedente :: Successivo   | 
	 
	
	
		| Autore | 
		Messaggio | 
	 
	
		sevenjeak Semidio
  
  
  Registrato: 04/02/08 22:05 Messaggi: 308 Residenza: Roma
  | 
		
			
				 Inviato: 29 Set 2009 20:18    Oggetto: [php/dom/htm] non va a capo nel contenuto di un logo | 
				     | 
			 
			
				
  | 
			 
			
				Sto facendo uno script per la creazione di un'articolo.
 
 
Il problema e che: quando in una textarea scrivo il contenuto andanto a capo mi scrive direttamente sulla pagina il codice ASCII del tag <br />, il codice che mi crea il file html e questo:
 
 	  | Codice: | 	 		  
 
<?php
 
 $imp = new DOMimplementation();
 
 $root = $imp->createDocumentType("html", "'- / / WAPFORUM / / DTD WML 1.1 / / EN', 'http://www.wapforum.org/DTD/wml_1.1.xml'");
 
 $dom = $imp->createDocument("", "", $root);
 
 $dom->formatOutput = true;
 
 $dom->preserveWhiteSpace = false; 
 
 
 
 // creazione tag <html>
 
 $html = $dom->createElement("html");
 
 $html = $dom->appendChild($html);
 
 $html->setAttribute("xmlns", "http://www.w3.org/1999/xhtml");
 
 // creazione tag <head>
 
 $head = $dom->createElement("head");
 
 $head = $html->appendChild($head);
 
 
 
 // creazione tag <link>
 
 $link = $dom->createElement("link");
 
 $link = $head->appendChild($link);
 
 $link->setAttribute("rel", "stylesheet");
 
 $link->setAttribute("href", "article.css");
 
 
 
 // Creazione tag <meta> -> description
 
 $meta_desc = $dom->createElement("meta"); 
 
 $meta_desc->setAttribute("name", "description");
 
 $meta_desc->setAttribute("content", "Documento di prova");
 
 $meta_desc = $head->appendChild($meta_desc);
 
 
 
 // Creazione tag <meta> -> keyworks
 
 $meta_key = $dom->createElement("meta");
 
 $meta_key = $head->appendChild($meta_key);
 
 $meta_key->setAttribute("name", "Keywords");
 
 $meta_key->setAttribute("content", "prova,articolo");
 
 
 
 // Creazione tag <body>
 
 $body = $dom->createElement("body");
 
 $body = $html->appendChild($body);
 
 
 
 // Creazione tag <div> ( header )
 
 $div1 = $dom->createElement("div");
 
 $div1 = $body->appendChild($div1);
 
 $div1->setAttribute("id", "header");
 
 
 
 // Creazione tag <div> ( logo )
 
 $div2 = $dom->createElement("div");
 
 $div2 = $div1->appendChild($div2);
 
 $div2->setAttribute("id", "logo");
 
 
 // Creazione tag <img> ( logo )
 
 $new_img = "Logi/".$_POST["lg"];
 
 $img = $dom->createElement("img");
 
 $img = $div2->appendChild($img);
 
 $img->setAttribute("src", $new_img);
 
 $img->setAttribute("alt", "Logo");
 
 
 
  // Creazione tag <div> ( titolo )
 
 $div3 = $dom->createElement("div");
 
 $div3 = $div1->appendChild($div3);
 
 
 
 // Creazione tag <h2> ( formattazione titolo )
 
 $h2 = $dom->createElement("h2");
 
 $h2 = $div3->appendChild($h2);
 
 $h2_text = $dom->createTextNode($_POST["title"]);
 
 $h2_text = $h2->appendChild($h2_text);
 
 
 
 // Creazione tag <div> ( sotto titolo )
 
 $div4 = $dom->createElement("div");
 
 $div4 = $div1->appendChild($div4);
 
 $div4_text = $dom->createTextNode($_POST["subtitle"]);
 
 $div4_text = $div3->appendChild($div4_text);
 
    
 
 // Creazione tag <div> ( content )
 
 $div4 = $dom->createElement("div");
 
 $div4 = $body->appendChild($div4);
 
 $div4->setAttribute("id", "content");
 
 $content = nl2br($_POST["content"]);
 
 $text = $dom->createTextNode($content);
 
 $text = $div4->appendChild($text);
 
 
 
 $new_file = "../Article/programmazione/".$_POST["title"].".html";
 
 $dom->saveHTMLFile($new_file);
 
 echo "<font color='green'>Articolo sarvato in: <a href='#'>...</a></font>";
 
?>
 
 | 	  
 
 
come posso risolvere il mio problema? | 
			 
		  | 
	 
	
		| Top | 
		 | 
	 
	
		  | 
	 
	
		freemind Supervisor sezione Programmazione
  
  
  Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
  | 
		
			
				 Inviato: 30 Set 2009 20:49    Oggetto:  | 
				     | 
			 
			
				
  | 
			 
			
				Fammi capire: tu nella textbox scrivi per esempio un testo su due righe, salvi, e quando richiami la pagina che dovrebbe visualizzare l'articolo (nella pagina e non nella textbox) cosa ti viene stampato invece che il '<br/>'?
 
Potresti incollare il codice ascii di cui parli? | 
			 
		  | 
	 
	
		| Top | 
		 | 
	 
	
		  | 
	 
	
		sevenjeak Semidio
  
  
  Registrato: 04/02/08 22:05 Messaggi: 308 Residenza: Roma
  | 
		
			
				 Inviato: 09 Ott 2009 17:02    Oggetto:  | 
				     | 
			 
			
				
  | 
			 
			
				| Scusa il ridarto della risposta, cmq ho risolto scrivendo al posto di createTextNode() la funzione createCDATEsector() | 
			 
		  | 
	 
	
		| Top | 
		 | 
	 
	
		  | 
	 
	
		freemind Supervisor sezione Programmazione
  
  
  Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
  | 
		
			
				 Inviato: 09 Ott 2009 18:23    Oggetto:  | 
				     | 
			 
			
				
  | 
			 
			
				Le sezioni cdata servono a create nodi con testo libero come valore.
 
Quando si immagazzina un testo arbitrario è buona norma usare sempre cdata per evitare il problema con i caratteri "strani" | 
			 
		  | 
	 
	
		| Top | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi
  | 
   
 
  
 
		 |