Salve,
c'è un modo per convertire i tag HTML in tag BBCode?
eventualmente un modo per eliminare la formattazione html da così
a cosìCodice PHP:
$string = "[b]Ciao[/b]";
Codice PHP:
$string = "Ciao";
Salve,
c'è un modo per convertire i tag HTML in tag BBCode?
eventualmente un modo per eliminare la formattazione html da così
a cosìCodice PHP:
$string = "[b]Ciao[/b]";
Codice PHP:
$string = "Ciao";
La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!
Per trasformarlo in BBcode è complicato, ma per cancellarlo potresti chiamare una iterazione sulla stringa:
Codice PHP:
$myString; //Metti che qui dentro hai il codice HTML
while($pos = strpos("<", $myString) !== false)
{
$pos2 = strpos(">", $myString);
$myString = substr($myString, 0, $pos-1).substr($myString, pos2+1);
}
//Ora in $myString non ci sono più TAG
echo $myString
Scusa ma non riesco a farla funzionare come voglio.
Io passo un intero testo formattato e dovrei eliminare tutti i tag html
Ho provato a creare una funzione in questo modo ma non funziona..
Codice PHP:
function htmlDelete($text) {
$post = array();
$texts = explode(" ", $text);
foreach ($texts as $text) {
while($pos = strpos("<", $text) !== false) {
$pos2 = strpos(">", $text);
$text = substr($text, 0, $pos-1) . substr($text, pos2+1);
$post[] = $text;
}
}
$post = implode(" ", $post);
return $post;
}
La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!
Scusa, l'avevo postato senza testarlo ed, in effetti, c'erano delle pisquanate.
Questo funziona:
Codice PHP:
$myString; //Metti che qui dentro hai il codice HTML
$arr = split('<', $myString);
$ret = "";
foreach($arr as $str)
{
$pos = strpos($str, ">");
$ret .= substr($str, $pos+1);
}
//Ora in $ret non ci sono più TAG
echo $ret;
grazie 1000 ora va come dovrebbe.. scusa se rompo ancora, ma potresti gentilmente spiegarmi come funziona? così imparo qualcosa e spero poi di evitare una simile richiesta
grazie ancora
La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!
Non è difficile:
1^ riga: definizione stringa html
2^ riga: spezzi la stringa sul tag di apertura (ad esempio '<span>ciao</span>' diventa un array contenente:
[0] => b>
[1] => span>ciao
[2] => /span>
[3] => b> )
3^ riga: definisci la variabile che conterrà il testo pulito, inizialmente è vuota ("")
4^ riga: esegui un foreach su ogni elemento dell'array
5^ riga: trova la posizione del > (che indica la chiusura del tag.
Ora, è abbastanza chiaro che, in ogni elemento dell'array, ciò che si troverà prima della posizione sopra indicata farà parte del TAG, ciò che si troverà dopo sarà testo pulito.
6^ riga: esegui un substr (sottostringa) dalla posizione del > +1 (primo carattere valido) fino alla fine dell'elemento ed aggiungilo alla variabile di ritorno.
7^ riga: stampa il tutto.
Spero di essere stato chiaro. Se non ti torna prova ad eseguire a mano l'algoritmo.