php Separare le parole distanziate all'interno di una stringa

Spesso i programmatori scoprono di dover dividere una stringa in parole separate. Se queste parole sono separate da spazi, le opzioni di comando sono semplici.

Recentemente, mentre stavo hackerando insieme qualche codice di ricerca, avevo bisogno di scomporre tutte le parole dalla frase di ricerca. Esistono diversi metodi per farlo. Qui do una breve carrellata sui punti di forza e le velocità di ciascun metodo.

Se tutte le parole sono separate da un singolo spazio, allora si può usare il php esplodere comando. Evitando il motore di espressioni regolari, questo è il metodo più veloce.

$ words = explode (", $ string);

Il prossimo metodo più veloce, preg_split, utilizza la sintassi delle espressioni regolari compatibile con Perl e gestisce più spazi.

$ words = preg_split ('/ \ s + /', $ stringa);

L'ultima opzione è teoricamente più lenta del metodo precedente. A partire da PHP 5.3.0 il Diviso il comando è stato deprecato e quindi dovrebbe essere evitato. Poiché utilizza anche la sintassi delle espressioni regolari, vengono gestiti facilmente più spazi.

$ words = split ('\ s +', $ string);