|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
|
[PHP] Funzioni su stringhe
Ciao ragazzi, sto imparando il php e mi sono imbattuto in un piccolo problema con le stringhe. Per prima cosa mi servirebbe sapere come faccio a trovare se una stringa contiene prima dei numeri e dopo lo spazio delle lettere e dei numeri. Per esempio ho la stringa
"1.2 ciao" --> va bene; "ciao" --> non va bene; "1.2" --> non va bene; "1.2ciao" --> non va bene. Dovrei provare le espressioni regolari? Se si, conoscete qualche guida esaustiva che spieghi bene come si costruiscono le espressioni? Seconda domanda che vorrei porvi. Ho una stringa che contiene dei caratteri, vorrei sapere come faccio a contare dei caratteri particolari che sono in quella stringa. Ad esempio se ho la stringa "1.1.11111.1" voglio sapere in questa stringa quanti "." ci sono e quindi la funzione dovrebbe restituirmi il numero 3. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2008
Messaggi: 411
|
Ciao,
qui puoi trovare un'ottima guida sulle espressioni regolari. Per la seconda richiesta puoi semplicemente usare la funzione array_count_values per contare le occorrenze di un determinato valore. Es: Prendi la tu stringa, la "esplodi" in un array dove ogni lettera corrisponde ad un elemento dell'array, quindi cerchi la chiave dello stesso con il simbolo che ti interessa conteggiare e ne recuperi il valore che poi altro non è che il numero di occorrenze.
__________________
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
|
Grazie mille, sei stato gentilissimo.
|
![]() |
![]() |
![]() |
#4 | |
Member
Iscritto dal: Oct 2009
Città: In una città
Messaggi: 67
|
Quote:
Codice PHP:
![]() MOD: il risultato sarà un array in $matches con il seguente contenuto Array ( [0] => Array ( [0] => 2.2 ciao ) [1] => Array ( [0] => 2.2 ciao ) ) Ultima modifica di Fibrizio : 12-02-2010 alle 16:57. |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
|
Quote:
|
|
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Oct 2009
Città: In una città
Messaggi: 67
|
piccola modifica alla stringa
Codice PHP:
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
|
ok, nella tua espressione, se l'ho letta bene, prevedi prima dello spazio una serie di numeri con i punti, nella seconda parte sia numeri che lettere, giusto? I punti sono opzionali, è così? Posso inoltre mettere qualsiasi cosa dopo lo spazio?
|
![]() |
![]() |
![]() |
#8 | |
Member
Iscritto dal: Oct 2009
Città: In una città
Messaggi: 67
|
Quote:
Codice PHP:
Se devi lavorare sulle espressioni regolari ti suggerisco anche questo sito e l'EditPad, che permette di fare molte prove, prima di ficcare il testo per esempio nel php, dove è comunque un po' più difficoltoso provare. ![]() ps: i punti non sono opzionali Ultima modifica di Fibrizio : 12-02-2010 alle 17:46. |
|
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Oct 2009
Città: In una città
Messaggi: 67
|
se vuoi mettere i punti opzionali devi scrivere
Codice PHP:
Ultima modifica di Fibrizio : 12-02-2010 alle 17:50. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
|
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
|
Quote:
$arraypunti = str_replace('.', ' . ', $array2[numero_indice]); $arraypunti = explode(' ', $arraypunti); $arraypunti = array_count_values($arraypunti); Adesso come faccio a recuperare il valore dell'array con il punto? |
|
![]() |
![]() |
![]() |
#12 | |
Member
Iscritto dal: Oct 2009
Città: In una città
Messaggi: 67
|
Quote:
Codice PHP:
![]() |
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:43.