Prima di proseguire...
Potrebbe interessarti la nostra collezione di esercizi C risolti?
Vediamo oggi come fare a riconoscere se in una stringa è presente solo del testo, o meglio non sono presenti i numeri.
Il codice è abbastanza semplice:
<?php function only_text($str){ //lunghezza stringa $len = strlen($str); //scorro la stringa e verifico carattere per carattere for($i=0;$i<$len;$i++) if($str[$i]>="0"&&$str[$i]<="9") return $i; return true; } $str = "ciaoy44d5dd"; $val = only_text($str); if($val===true) print "È solo testo"; else print "sono presenti anche numeri, in particolare iniziano alla posizione : ".$val; ?>
La funzione only_text non fa altro che restituirmi true se è solo testo altrimenti mi restituisce la prima posizione in cui incontra un numero.
in particolare la funzione only_text controlla per ogni carattere se è un numero, con $str[$i]>=”0″&&$str[$i]<="9", si sarebbe potuto anche usare la funzione is_numeric ma così almeno si capisce la logica che sta dietro e cioè la logica dell'ordine nel codice ASCII. Se è un numero ritorna la posizione del carattere corrente altrimenti a fine ciclo ritorna true. N.B. questo metodo considera come testo anche i caratteri di spaziatura e caratteri come % @ , ; ecc per considerare solo le lettere basta cambiare la condizione in !(($str[$i]>=”A”&&$str[$i]<="Z") || ($str[$i]>=”a”&&$str[$i]<="z"))
stringa di solo testo by cardinale claudio is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.