Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    Eliminare <br /> in una stringa

    Ho il seguente codice che mi recupera un testo all'interno di un tag di apertura e chiusura (classico bbcode)

    Codice PHP:
    bbcodeCode($code) {

    $code_prima = array('/\[code\](.*?)\[\/code\]/is');
    $code_dopo = array('$1');       

    $codeClear preg_replace($code_prima$code_dopo$code);

    return 
    $codeClear;



    così recupero il testo all'interno dei tag CODE, però io ho bisogno di eliminare all'interno di questi tag il codice <br />, come posso fare?

    Per esempio ho il seguente testo

    [ CODE]
    <?php<br />
    <br />
    $test = 1;<br />
    <br />
    ?>
    [ /CODE]

    devo eliminare i <br /> all'interno di code, come posso fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    147
    echo "<br/>";

  3. #3

  4. #4
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    If you think your users are idiots, only idiots will use it. DropBox

  5. #5
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Ok, ma come metto in pratica questa funzione solo all'interno dei tag CODE? Perche io ho altro testo al di fuori del tag e a questo testo i <br /> devono rimanere...

  6. #6
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    scusami ma nel tuo messaggio dici "...così recupero il testo all'interno dei tag CODE..."
    bene, $codeClear lo processi con strip-tags (quindi nn TUTTO il testo)
    If you think your users are idiots, only idiots will use it. DropBox

  7. #7
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    No il codice che ho inserito prende tutto il testo, dopo di che intercetta il tag code e recupera il testo al suo interno E con la funzione preg_replace tolgo il tag CODE.Per finire invio tutto il codice elaborato senza il tag CODE.Io devo invece elaborare il solo testo all'interno del tag CODE togliendo solo al suo interno i br

  8. #8
    Se devi eliminarlo puoi fare così:
    Codice PHP:
    str_replace("<br/>"""$stringa); 

  9. #9
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Intanto ringrazio chi ha già risposto, però voglio mettere un po di chiarezza in quanto non stiamo centrano il succo del discorso probabilmente per colpa mia che fino ad ora non sono stato chiaro.

    Ora rispiego un po tutto con qualche esempio pratico.

    Ho una stringa contenente del testo, che passo in una funzione per formattarla (il classico bbcode).
    In questa stringa può esserci il tag CODE (ma può anche non esserci).
    In questa stringa ci sono i vari tag < br />.

    Il mio obbiettivo è togliere questi tag < br /> SOLO e ripeto SOLO quando presenti tra i tag CODE, mentre per il resto della stringa devono rimanere.

    Faccio un esempio

    Codice PHP:
    <?php

    $stringa 
    "Test<br /><br />1234[code]questo<br /> è<br /> un<br /> codice[/code]continuo la frase<br />";

    //funzione per eliminare i BR all'interno di CODE 
    function puliscoStringa($stringa) {
    // help
    }

    $newStringa puliscoStringa($stringa);

    //risultato dopo la funzione: 

    //$newStringa = "Test<br /><br />1234[code]questo è un codice[/code]continuo la frase<br />";

    ?>
    La mia domanda allora rimane:

    Come posso fare ciò? Come posso fare in modo di elaborare TUTTA la stringa e fare in modo che SOLO la parte racchiusa tra i tag CODE venga pulita dai < br />?

    Grazie mille, spero di essere stato più chiaro e mi scuso per non esserlo stato abbastanza fin'ora.
    Ultima modifica di torrone; 14-11-2013 a 20:16

  10. #10
    Codice PHP:
    <?php
    $stringa 
    "Test<br /><br />1234[code]questo<br /> è<br /> un<br /> codice[/code]continuo la frase<br />";
    preg_match("/\[code\](.*?)\[\/code\]/is"$stringa$m);

    $replaced str_replace("<br />"" "$m[1]);
    echo 
    $replaced;

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.