Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Quote Originariamente inviata da fdisotto Visualizza il messaggio
    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;
    Non rielabora tutta la stringa però, quando vai a fare l'echo, mostra solo la parte racchiusa tra i tag CODE, io devo poter vedere tutta la stringa invece

  2. #2
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Forse ho risolto... utilizzando il tuo metodo, insieme al mio con preg_replace ottengo quello che volevo!!

    Domani farò ulteriori test, ora sembra funzionare

    Codice PHP:

    function bbcodeCode($code) {
                    
    preg_match("/\[code\](.*?)\[\/code\]/is"$code$m);


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


            
    $code_prima = array(
                
    '/\[code\](.*?)\[\/code\]/ise'
               
    &nbsp;


            
    $code_dopo = array(
                
    '\'<pre class="brush: text;">\' . $replaced . \'</pre>\''
               
    &nbsp;
                
            
    $codeClear preg_replace($code_prima$code_dopo$code);
            
            return 
    $codeClear;

    Intanto grazie mille

  3. #3
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    questo funziona, ma puoi sempre migliorarlo
    Codice PHP:
    <?php

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

    preg_match("/(.*?)\[code\]/is"$stringa$prima);

    preg_match("/\[code\](.*?)\[\/code\]/is"$stringa$code);

    $code str_replace("<br />"" "$code[1]);

    preg_match("/\[\/code\](.*)/is"$stringa$dopo);

    echo 
    $prima[1].$code.$dopo[1];

    ?>
    If you think your users are idiots, only idiots will use it. DropBox

  4. #4
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Speravo funzionasse tutto e invece non ci siamo ancora.

    Utilizzo la funzione postata prima

    Codice PHP:

    function bbcodeCode($code) {
                    
    preg_match("/\[code\](.*?)\[\/code\]/is"$code$m);


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


            
    $code_prima = array(
                
    '/\[code\](.*?)\[\/code\]/ise'
               
    &nbsp;


            
    $code_dopo = array(
                
    '\'<pre class="brush: text;">\' . $replaced . \'</pre>\''
               
    &nbsp;
                
            
    $codeClear preg_replace($code_prima$code_dopo$code);
            
            return 
    $codeClear;

    Il problema qual'è?

    Mi legge SOLO il PRIMO tag CODE e mi sostituisce tutti quelli successivi con il PRIMO.

    esempio

    Codice PHP:
    $stringa "ciao < br /> [ code]codice<br /> 1[ /code] continuiamo [ code]secondo codice[ /code] fine<br />"
    ecco il risultato

    Codice PHP:
    // ciao < br /> [ code]codice 1[ /code] continuiamo [ code]codice 1[ /code] fine<br /> 
    e codi via se ci sono altri tag CODE dopo, mi legge ed elabora solo prima sostituendo anche quelli successivi sempre con il primo.

    Come si può risolvere?
    Ultima modifica di torrone; 16-11-2013 a 13:16

  5. #5
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    devi crearti un array, ma credo che quel codice non basti perchè pensato solo al caso di due tag, inoltre dovresti appoggiarti anche alla funzione preg_match_all
    If you think your users are idiots, only idiots will use it. DropBox

  6. #6
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Riguardo preg_match_all ho visto e stavo infatti facendo delle prove... Il problema è che non riesco a sostituire nella stringa ogni tag, riesco a recuperare i singoli tag appuntocon la funzione ma poi nella stringa non riesco a sostituirli

  7. #7

  8. #8
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Non riesco a capir come fare, qualcuno che viene in soccorso?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.