Tips per le stringhe

Gli argomenti di questa pagina

  • Rendere case-insensitive le funzioni stringa case-sensitive
  • Il codice ASCII di tutte le lettere di una stringa

In questa pagina cercherò di mostrare come usare al meglio le finzioni per le stringhe

Rendere case-insensitive le funzioni stringa case-sensitive

Vediamo come fare con alcune di queste funzioni:
Il caso di strpos.
Tre esempi:
find è minuscolo e viene trovato
find è maiuscolo e non viene trovato
find è ancora maiuscolo ma, nella funzione, find e mystring vengono posti in minuscolo tramite la funzione strtolower e l'esito diventa positivo

Stessa cosa per str_replace. Nei due esempi:
la prima volta viene effettuata una sola sostituzione usando la sola funzione str_replace,
ma se mi faccio aiutare dalla funzione strtolower riesco ad compiere tutte le sostituzioni attese nel secondo esempio
Lo stesso risultato possiamo ottenerlo usando lo stesso metodo con altre funzioni case-sensitive.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
$mystring 
'Mi chiamo mario ed abito a casa mia. Mario chiama';
//    primo esempio con strpos
$findme   'o';
$pos strpos($mystring$findme);
$message_error "La stringa '" $findme "' non trovata in '" $mystring;
$message_ok "La stringa '" $findme "' trovata in " $pos;
echo (
$pos === false) ? $message_error $message_ok;
echo 
"<hr />\n";
//    secondo esempio con strpos
$findme   'O';
$pos strpos($mystring$findme);
$message_error "La stringa '" $findme "' non trovata nella stringa";
$message_ok "La stringa '" $findme "' trovata in " $pos;
echo (
$pos === false) ? $message_error $message_ok;
echo 
"<hr />\n";
//    terzo esempio con strpos
$pos strpos(strtolower ($mystring), strtolower ($findme));
$message_error "La stringa '" $findme "' non trovata nella stringa";
$message_ok "La stringa '" $findme "' trovata in " $pos;
echo (
$pos === false) ? $message_error $message_ok;
echo 
"<hr />\n";
//    *****************************************************************
//    quarto esempio con str_replace
$find "mario";
$replace "<span class=\"brown\">Giuseppe</span>";
echo 
str_replace($find$replace$mystring) . "<br />\n";
echo 
"<hr />\n";
//    quinto esempio con str_replace
echo str_replace(strtolower ($find), $replacestrtolower ($mystring)) . "<br />\n";
echo 
"<hr />\n";
?>

 

La stringa 'o' trovata in 8
La stringa 'O' non trovata nella stringa
La stringa 'O' trovata in 8
Mi chiamo Giuseppe ed abito a casa mia. Mario chiama

mi chiamo Giuseppe ed abito a casa mia. Giuseppe chiama

 

Il codice ASCII di tutte le lettere di una stringa

Qui sotto vediamo come ottenere i codici ASCII di tutti i caratteri di una stringa.
Si è già visto l'uso della funzione ord() che estrae il codice ASCII del primo carattere di una stringa, ma questa è più completa: leggiamo tutti i caratteri della stringa.
Il procedimento è semplice.
Si imposta un ciclo FOR che va da 0 alla lunghezza della stringa usando la funzione strlen()
Si estrae un carattere alla volta aiutati dalla funzione substr
Al carattere estratto si applica la funzione ord che ne restituisce il codice ASCII

1
2
3
4
5
6
7
8
<?php
//    ord        
$mia_stringa "Gamba di legno";
for(
$i 0$i strlen($mia_stringa); $i++){
    
$letter substr($mia_stringa$i1);
    echo 
$letter " => " ord($letter) . "<br />\n";
}
?>
G => 71
a => 97
m => 109
b => 98
a => 97
=> 32
d => 100
i => 105
=> 32
l => 108
e => 101
g => 103
n => 110
o => 111

 

 



settore tecnico il sito di lorettabweb il Forum di sostegno
il forum il forum il forum