Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    sostituzione strignga con caratteri speciali [ e ]

    Io non riesco a fare questa sostituzione di stringa:
    Codice:
    str_ireplace([BBB], , $rowreview[slopes_text]);
    str_ireplace([/BBB], '
    ', $rowreview[slopes_text]);
    echo "$rowreview[slopes_text]";

    forse i caratteri [ e ] sono caratteri "speciali"?
    Come posso fare?

    Mi sembra utile fare in modo che gli utenti che vogliono scrivere un testo usino le stesse regole di formazzattazione del forum

  2. #2
    Codice PHP:
    <?php
    $rowreview
    ['slopes_text'] = "[BBB]ciao[/BBB]";

    $str preg_replace('#\[BBB\](.+?)\[/BBB\]#is'"[b]$1[/b]"$rowreview['slopes_text']);

    echo 
    $str;

    ?>
    prova così

  3. #3
    Non funziona.
    Essa viene applicata tra il carattere b e b che trova nel testo.

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Codice PHP:
    $str preg_replace('#\\[BBB\\](.+?)\\[/BBB\\]#s'"[b]$1[/b]"$rowreview['slopes_text']); 
    Si può omettere la i alla fine dell'espressione, si sta indicando già qualsiasi tipo di carattere con il (.) punto. Comunque, l'esempio è giusto, e di sicuro cubalibre810 li aveva inseriti anche prima i backslash per la parentesi quadre (visti come caratteri speciali nell'espressione) ma il forum li elimina e bisogna metterli due volte di seguito...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    119
    Anche io ho lo stesso problema:

    ho questo codice che funziona perfettamente:

    Codice PHP:
    $uploadfile $uploaddir preg_replace("/ /","_",$_FILES['userfile']['name'][$i]); 
    in pratica sostituisce lo spazio vuoto nel nome con l'underscore (fin qui tutto ok).



    Poi ho aggiunto altri caratteri da eliminare (la parentesi quadra ']' )

    Codice PHP:
    $uploadfile $uploaddir preg_replace("/ /","/]/","_",$_FILES['userfile']['name'][$i]); 
    Ma non funziona più. Forse sbaglio la sintassi per le sostituzioni multiple...

  6. #6
    perchè il codice che hai messo è sbagliato...
    devi fare così:

    $stringa = str_ireplace([BBB], , $rowreview[slopes_text]);
    $stringa = str_ireplace([/BBB], '
    ', $stringa);
    echo $stringa;

    Non dico che le soluzioni proposte dagli altri siano sbagliate, ma almeno capisci cosa hai sbagliato nel tuo codice prima di andare a disturbare le regolari
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  7. #7
    Originariamente inviato da blackx

    Codice PHP:
    $uploadfile $uploaddir preg_replace("/ /","/]/","_",$_FILES['userfile']['name'][$i]); 
    perchè gli devi passare un array con le esclusioni, e un altro array con le sostituzioni...
    La seconda che hai fatto, ti sostituisce le / con ] nella stringa _, mentre $_FIL... diventa un parametro per la regolare... Prova a leggere la documentazione e vedrai che capisci
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    119
    Fatto ora funge: ho fatto così:

    Codice PHP:
            $uploaddir IMAGES_DIR;
            
    $char = array(' ',"]","[");
            
    $uploadfile $uploaddir str_replace($char,"_",$_FILES['userfile']['name'][$i]); 
    Però così converte tutti gli array nello stesso carattere '_'

    Se volessi differenziare ?
    Posso fare + righe $char1, $char2 ecc e poi più righe di str_replace ?

  9. #9
    gli passi un array con le stringhe da cambiare ^^
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

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.