Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. str_replace, solo per il primo trovato
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • E
      elteox User • ultima modifica di

      str_replace, solo per il primo trovato

      Ciao a tutti!
      Ho un problemino...
      All'interno di una stringa ($str1) devo sostituire al primo carattere $c1 trovato un'altro carattere ($c2).
      Facendo...

      str_replace($c1, $c2, $str1);
      ...li sostituisce tutti!!!

      Ho provato a cercare in php.net, ho visto che la "str_replace" accetta un paramentro count, ma purtroppo è solo di ritorno (indica il numero di caratteri modificati o qualcosa del genere).

      Purtroppo non ho trovato altre funzioni che possano aiutarmi.

      HELP!!!

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • M
        margheritebianche User Attivo • ultima modifica di

        In fondo al manuale php ( http://it.php.net/manual/it/function.str-replace.php ) trovi la soluzione (che ti posto qui sotto):

        
        If you want to replace only the first occurence of a string you can use this function: 
        
        <?php 
        function str_replace_once&#40;$needle, $replace, $haystack&#41; &#123; 
           // Looks for the first occurence of $needle in $haystack 
           // and replaces it with $replace. 
           $pos = strpos&#40;$haystack, $needle&#41;; 
           if &#40;$pos === false&#41; &#123; 
               // Nothing found 
               return $haystack; 
           &#125; 
           return substr_replace&#40;$haystack, $replace, $pos, strlen&#40;$needle&#41;&#41;; 
        &#125; 
        ?> 
        
        
        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • E
          elteox User • ultima modifica di

          ...a causa del mio ottimo inglese non mi sono avventurato nei vari "commenti" in php.net...

          Conclusione?
          Sono un pirla! (e devo mettermi a studiare inglese). :arrabbiato:

          Grazie mille!!!

          :brindisi:

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • C
            centix User Attivo • ultima modifica di

            oppure usi [url=www.php.net/preg_replace]preg_replace

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • F
              fabioski Bannato User Attivo • ultima modifica di

              Io non riesco a fare questa sostituzione di stringa:

              str_ireplace(**, <strong>, $rowreview[slopes_text]);
              str_ireplace('**', '</strong>', $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 😄

              GRAZIE

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • F
                fabioski Bannato User Attivo • ultima modifica di

                Sopra ci sono i caratteri che fanno apparire il grassetto ma non so come farli visualizzare. sono parentesi quadra b chiusa parentesi.

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • F
                  fabioski Bannato User Attivo • ultima modifica di

                  Io non riesco a fare questa sostituzione di stringa:
                  Codice:
                  str_ireplace([BBB], <strong>, $rowreview[slopes_text]);
                  str_ireplace([/BBB], '</strong>', $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

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • F
                    fabioski Bannato User Attivo • ultima modifica di

                    Devo mettere un apice prima delle parentesi quadre?
                    Mi era stata suggerita una soluzione su questo forum, mi pare, ma non la trovo più 😞

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • P
                      probid Super User • ultima modifica di

                      ciao fabiosky,fai così:

                      [php]str_ireplace("[BBB]", "<strong>", $rowreview[slopes_text]);
                      str_ireplace("[/BBB]", "</strong>", $rowreview[slopes_text]);
                      echo "$rowreview[slopes_text]";
                      [/php];)
                      ciao!

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      Caricamento altri post
                      Rispondi
                      • Topic risposta
                      Effettua l'accesso per rispondere
                      • Da Vecchi a Nuovi
                      • Da Nuovi a Vecchi
                      • Più Voti