Problema interpretazione tag

ho la necessitą di copiare alcuni campi di un recor in un altro.

La variabile $row contiene i campi da copiare. ecco come ho deciso di procedere (in joomla):

<?php
$query="SELECT * FROM #__categories WHERE title = 'scaduti'";
$database->setQuery($query);
$rows3 = $database->loadObjectList();
if($rows3==NULL) {
   //echo "Si č verificato un errore";
   //return;
}else{
   foreach ($rows3 as $row3){
      $id_categoria = $row3->id;
      $id_sezione = $row3->section;
      $query="INSERT INTO #__content VALUES ('un macello di roba', ".$row->introtext."','".$row->fulltext."','ancora un macello di roba')";
      $database->setQuery($query);
      $database->query();
   }
}
?>

in particolare i campi introtext e fulltext contengono codice html.

mi aspettavo che dopo la copia il codice venisse copiato identico, ad esempio

<p>Concorso per la realizzazione di un ...

invece č i caratteri "speciali" <, >, lettere accentate ecc. sono state tradotte nel relativo codice. il risultato č una cosa del tipo:

&lt;p&gt;Concorso per la realizzazione di un ...

Ovviamente quando vado a leggere il contenuto del campo l'output non č certo quello desiderato ma č puro codice html, non interpretato. Come posso risolvere?

inviato 9 anni fa
Tro4
Tro4
1
X 0 X

Bhe il problema non č di certo in quella parte di codice che hai postato... C'č una classe che ti restituisce i risultati della queri formattati in html. Quindi devi modificare la classe in questione.

 :bye:

risposto 9 anni fa
Marco Dario
X 0 X

no, probabilmente mi sono spiegato male. Nel DB invece di salvarmi "<b>Concorso per la realizzazione di un ..." mi ha salvato "&lt;b&gt;Concorso per la realizzazione di un ...".

se in un qualunque punto del codice eseguo una select di quel record e successivamente una echo mi stampa "<b>Concorso per la realizzazione di un ..." invece del testo in grassetto, perchč giustamente interpreta singolarmente i codici &lt  e &gt.

risposto 9 anni fa
Tro4
Tro4
1
X 0 X

chi assegna i valori a $row->introtext e $row->fulltext ?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

sono recuperati dal database tramite la select. Questi sono scritti (e quindi vengono anche interpretati) nel modo corretto.

Una soluzione potrebbe essere fare una copia perfetta del record e in seguito modificare i campi che devono essere cambiati. E' possible questa cosa?

risposto 9 anni fa
Tro4
Tro4
1
X 0 X

Certo che č fattibile, il problema č nella classe che converte i caratteri in entitą html. Come diceva Gianni:chi assegna i valori a $row->introtext e $row->fulltext ?

Basta controllare chi assegna quel valore e vedrai che risolvi i problemi.  O0

 :bye:

risposto 9 anni fa
Marco Dario
X 0 X

Ho cercato "INSERT INTO #__content" nell'intero codice php del sito e... c'č n'č solo uno, corrispondente a quell'inserimento che ho scritto all'inizio del topic. E come li inserisce gli altri record???? :o

Quello che sto cercando di fare č modificare il componente "content" di joomla per adattarlo alle mie esigenze. quando il contest scade, č necessario copiarlo nella sezione "scaduti".

risposto 9 anni fa
Tro4
Tro4
1
X 0 X

Riporta il codice della classe in questione.

 :bye:

risposto 9 anni fa
Marco Dario
X 0 X

non mi pare una buona idea...solo la funzione edit content č di 1000 righe e non sono nemmeno sicuro avvenga lą il salvataggio (anzi sono quasi certo ke sia da un'altra parte).

chiedo: non č possibile imporre di mantenere il carattere "<" invece di tradurlo in &lt; ? Basterebbe questo per risolvere il problema.

risposto 9 anni fa
Tro4
Tro4
1
X 0 X

Prova a dare un'occhiata a html_entity_decode.

 :bye:

risposto 9 anni fa
Marco Dario
X 0 X

Perfetto!!!!! FUNZIONA!!  grazie mille!!

 O0

risposto 9 anni fa
Tro4
Tro4
1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda