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 10 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 10 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 10 anni fa
Tro4
Tro4
1
X 0 X

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

risposto 10 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 10 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 10 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 10 anni fa
Tro4
Tro4
1
X 0 X

Riporta il codice della classe in questione.

 :bye:

risposto 10 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 10 anni fa
Tro4
Tro4
1
X 0 X

Prova a dare un'occhiata a html_entity_decode.

 :bye:

risposto 10 anni fa
Marco Dario
X 0 X

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

 O0

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