stringa di solo testo


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 "&Egrave; 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"))

CC BY-SA 4.0 stringa di solo testo by cardinale claudio is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Lascia un commento