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

    preg_replace solo la prima volta per ogni parola

    ciauz a tutti...
    preciso subito che devo utilizzare preg_replace perchè utilizzp le espressioni regolari..
    faccio un esempio per farvi capire il mio problema:
    ho un array di $parole e un array $replace con i termini da sostituire...
    però vorrei che ogni volta lo facesse solo con la prima parola...

    mi spiego meglio

    Codice PHP:
    $parole = array( 'ciao''prova');
    $replace = array('salve''test');

    $text 'ciao ciao questa è una prova per vedere se il mio script di prova funziona';

    $text preg_replace($parole$replace$text);
    echo 
    $text;

    //risultato ottenuto:
    // salve salve questa è un test per vedere se il mio script di test funziona

    //risultato che vorrei
    //salve ciao questa è un test per vedere se il mio script di prova funziona 

    qualcuno ha qualche idea per una possibile soluzione?
    ne ho pensata una...ma mi sembra "esagerata"
    Codice PHP:
    $parole = array( 'ciao''prova');
    $replace = array('salve''test');
    $trovato = array();

    $text 'ciao ciao questa è una prova per vedere se il mio script di prova funziona';

    $text_array $pieces explode(" "$text);

    foreach (
    $text_array as $value){
       if (
    preg_match($parole$text$matches) && !array_key_exists($matches[0], $trovato)){
          
    $value preg_replace($parole$replace$value);
          
    $trovato[matches[0]] ='si';
       }

    }
    $text $pieces implode(" "$text_array);

    echo 
    $text
    probabilmente questo codice nn funziona...l'ho buttato giù adesso senza nemmeno provarlo...

    avete qualche soluzione migliore?

    ciauzzz e grazie a tutti per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    se imposti ad 1 l'ultimo parametro limite dovresti ottenere ciò che vuoi.
    http://it.php.net/manual/it/function.preg-replace.php

  3. #3
    huhu...mi ero letto la documentazione...ma quella riga mi era "scappata"...
    che stupido che sono!

    vado a complicarmi la vita...anche quando le cose sono così semplici :-)

    ciauzzz e grazie

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