Ora impareremo a manipolare le stringhe. Possiamo fare tantissime cose con le stringhe : estrarre una porzione, ottenere la lunghezza, eliminare gli spazi, manipolare i caratteri, ricercare parole, confrontarle, codificare e decodificare gli URL, gestire i caratteri speciali html. Vediamoli uno per uno.Estrarre una porzione di stringaper estrarre basta indicare a php dove iniziare e dove finire con l'estrazione usando la funzione substr<?php $stringa = "Bruce Willis"; $nome = substr($stringa,0,5); $cognome = substr($stringa,6); echo "il nome è $nome , il cognome è $cognome"; ?>EsempioPotete notare come nel cognome abbiamo indicato a php solo da dove iniziare  e lui estrarrà da lí fino alla fine.Ottenere la lunghezza di una stringaQuesta funzione è facilissima basta indicare la stringa nella funzione strlen<?php $nome="giorgio"; $lunghezza=strlen($nome); echo "nella stringa ci sono $lunghezza caratteri"; ?>risultato : nella stringa ci sono 7 caratteriEliminazione degli spaziSi fa utilizzando la funzione trim sempre indicando la stringa<?php $nome="  giorgio   "; $stringaripulita=trim($nome); echo "ecco la stringa ripulita $stringaripulita"; ?>EsempioRendere maiuscola l'iniziale di una stringaPer rendere l'iniziale di una stringa maiuscola si usa la funzione ucfirst. Se nella stringa ci sono più paroleucwords.<?php $nome="pinco pallino"; $stringa=ucfirst($nome); echo "Nome :$stringa"; ?>Risultato Pinco pallino<?php $nome="pinco pallino"; $stringa=ucwords($nome);  echo "Nome :$stringa"; ?>Risultato Pinco Pallino<–nextpage–>

Cercare una stringa

Per cercare una stringa abbiamo due funzioni  strpos estrrpos. La prima troverà la prima occorrenza mentre la seconda l'ultima occorrenza.<?php $msg="Abbiamo una situazione d'emergenza, gente, ripeto: una situazione d'emergenza"; $prima_occorrenza=strpos($msg,"emergenza"); $ultima_occorrenza=strrpos($msg,"emergenza"); echo "La prima occorrenza è al carattere $prima_occorrenza, l'ultima al carattere $ultima_occorrenza"; ?> Esempio

Ricerca e sostituzione

Sintassi: str_peplace(cerca,inserisci,stringa);<?php $msg="La Juventus è seconda in classifica"; $classificanuova=str_replace("seconda","prima",$msg); echo $classificanuova; ?>Risultato : La Juventus è prima in classifica

Convertire un numero in un carattere ASCII

echo (chr(38));    risultato : &

Confronto di due stringhe

Nella convalida dei campi è importante assicurarsi che due stringhe siano uguali. Usiamo la funzione strcmp con il nome delle due stringhe.<?php $password_1="master"; $password_2="masterd"; echo strcmp($password_1,$password_2); ?>Il risultato darebbe  -1 perchè non corrispondono altrimenti darebbe 0

Suddividere una stringa in un array

Si usa la funzione explode e tra le " " indichiamo il separatore<?php $linea_passwd="giorgio,nicola,peppe"; $campi=explode("," ,$linea_passwd); while (list(, $valore) = each ($campi)) { echo "Valore: $valore<BR>"; } ?>Esempio

Codifica degli a capo di html <br> (vi servirà per MySql)

$testo=n12br($testo); echo "$testo";

Codifica e Decodifica di una stringa URL

Per codifica si usa urlencode e per decodificare urldecode$input = urlencode("nome_segreto=Giorgio Tave hobby=calcio"); risultato nome_segreto%3DGiorgio!Tave!hobby%3Dcalcio$input = urldecode("nome_segreto%3DGiorgio!Tave!hobby%3Dcalcio");risultato nome_segreto=Giorgio Tave hobby=calcioQuesto vi servirà più tardi quando analizzeremo i form<–nextpage–>

Gestione degli apici (anche questo per MySql)

Abbiamo due funzioni una mette le controbarre davanti agli apici e una li toglie. addslashes e stripslashes.$stringa = addslashes($stringa); echo "$stringa"; $stringa = stripslashes($stringa); echo "$stringa";

Gestione di caratteri speciali HTML

Ci sono dei caratteri html che vanno protetti altrimenti alcuni testi potrebbero essero troncati. Ecco la funzionehtlmspecialchars$stringa = htmlspecialchars($stringa); echo "$stringa";Ricerche in generale, all'inizio di una stringa e alla fineIn generale<?php $str="quando arrivi fammi un  Segnale "; $pattern="Segnale"; if (!ereg($pattern,$str)) { echo "Nessuna corrispondenza trovata utilizzando la parola $pattern"; } else { echo "Ho trovato una corrispondenza utilizzando la parola $pattern... continua la normale elaborazione..."; } ?>EsempioRicerche all'inizio di una stringa.Per cercare una parola all'inizio di una stringa basta mettere ^ prima di essa.<?php $str="Emergenza, Emergenza Sto Affondando Per Un Segnale 15"; if (ereg("^Emergenza",$str)) { echo "La parola 'Emergenza' è all'inizio di $str"; } else { echo "La parola 'Emergenza' non è all'inizio di $str"; } ?> EsempioPer cercare invece alla fine di una stringa basta mettere $ alla fine della parola<?php $str="Emergenza, Emergenza Sto Affondando Per Un Segnale 15"; if (ereg("15$",$str)) { echo "Il numero 15 è alla fine di $str"; } else { echo "Il numero 15 non è alla fine di $str"; } ?><–nextpage–>Possiamo inserire una stringa anche con ereg_replace che accetta anche i caratteri speciali di espressioni regolari come ^ o $.<?php $grassetto="<B>"; $str="Emergenza, Emergenza Sto Affondando Per Un Segnale 15"; $nuova_str=(ereg_replace("^","$grassetto",$str)); echo "$nuova_str"; ?>Lo stesso vale per la marcatura <br>EsempioAbbiamo un'altra funzione importante ed è split.Essa prende una stringa e la inserisce in un array mentre noi dobbiamo specificare il sepatore dei campi. Lo spazio è una scelta comune<?php $str="Emergenza, Emergenza Sto Affondando Per Un Segnale 15"; $pattern=" "; $risultato=split($pattern,$str); foreach ($risultato as $valore) echo "$valore<BR>"; ?>EsempioImmaginiamo di avere un negozio con degli articoli<?php $str="articolo=Magliette articolo=Pantaloni articolo=Cappotti articolo=Giacche"; $pattern="articolo="; $risultato=split($pattern,$str); foreach ($risultato as $articolo) echo "$articolo<BR>"; ?>Esempio