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

    [PHP]str_replace solo una volta

    Ciao a tutti!
    Ho un testo del genere:
    codice:
    ciao|ciao|ciao|ciao|ciao
    Vorrei che "ciao" venisse sostituito da un'altra stringa, se faccio
    Codice PHP:
    <?
    $testo
    ='ciao|ciao|ciao|ciao|ciao';
    $testo2=str_replace("stringa","ciao",$testo);
    ?>
    ottengo però che tutti i ciao vengono sotituiti da "stringa", io però vorrei che venisse sostituito solo il primo "ciao", ottenendo così
    codice:
    stringa|ciao|ciao|ciao|ciao
    Esiste qualche funzione che mi permette di fare questo?
    Grazie in anticipo!

  2. #2
    Ho risolto creando questa funzione:
    Codice PHP:
    function replace($old,$new,$input,$volte)
    {
     
    $text="";
     
    $sep=explode($old,$input);
     for(
    $i=0;$i<$volte;$i++)
     
    $cont[$i]=$new;
     for(
    $i=$volte;$i<count($sep);$i++)
     
    $cont[$i]=$old;
     for(
    $i=0;$i<count($sep);$i++)
     
    $text.=$sep[$i].$cont[$i];
     return 
    $text;


  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Codice PHP:
    $testo='ciao|ciao|ciao|ciao|ciao';
    preg_replace('/ciao/','stringa',$testo,1);
    echo 
    $testo

  4. #4
    Questo è decisamente più pratico, Grazie mille!

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.