FUNZIONI PHP
substr()
Tramite questa funzione è possibile dividere una stringa e prenderne solo una parte.
Sintassi:
substr($stringa,$num1,$num2)
- $stringa è la stringa da dividere.
- $num1 è il numero dei caratteri da togliere ad inizio stringa.
- $num2 è il numero dei caratteri (partendo da $num1) che compongono la nuova stringa,
i caratteri in eccedenza saranno tolti.
Se
$num2 non è definito ci fermiamo a fine stringa.
Da notare che se durante un ciclo di programma i due numeri sono con grandezze invertite ($num2<$num1) la
funzione rimanda comunque un risultato.
Nel caso $num2 risulti nullo la funzione
non si attiva. In questo caso avremo:
substr($funzstr,$num1,); (Non avremo nessun risultato.)
substr($funzstr,$num1,null); (Non avremo nessun risultato.)
substr($funzstr,$num1, ); (Errore di tipo warning a video.)
substr($funzstr,$num1); (Funzione scritta correttamente.)
Esempio:
Con questo script verifichiamo la lunghezza della stringa con la funzione
strlen(), e
dividiamo la frase inserita solo se
i due numeri sono minori della sua lunghezza.
Codice esempio:
Nell'esempio sono annidati più cicli if:
- Il primo per verificare se la ricerca è stata avviata.
- Il secondo per verificare che i due numeri (x1 e x2) sono minori della lunghezza della frase.
- Il terzo per verificare l'esistenza di x2 e modificare la funzione di conseguenza.
<form action="#" method="get">
Inserisci una parola
<input type="text" name="funzstr" size="17" maxlength="100">
Inserisci x1, il numero da cui partire
<input type="text" name="x1" size="2" maxlength="2">
Inserisci x2, il numero su cui fermarsi
<input type="text" name="x2" size="2" maxlength="2">
<input type="submit" value="Dividi la frase">
</form>
<?
$ricerstr=$_GET['ricerstr'];
$funzstr=$_GET['funzstr'];
$x1=$_GET['x1'];
$x2=$_GET['x2'];
if($ricerstr==2){
$funzstr2=@strlen($funzstr);
echo"Lunghezza stringa: ".$funzstr2."<br>";
if($x1<$funzstr2 and $x2<$funzstr2){
if($x2){
echo"Questa è la stringa risultante:<br>";
$funzzz=substr($funzstr,$x1,$x2);
echo$funzzz."<br>";
}
else{
echo"Questa è la stringa risultante:<br>";
$funzzz=substr($funzstr,$x1);
echo$funzzz."<br>";
}
}
else{
echo"Uno dei due numeri non è minore del numero di caratteri che compongono la stringa, la stringa non è divisibile.";
}
}
?>