Chi fa il web master o il web developer sa che una delle cose più fastidiose è quando il cliente fornisce i testi scritti tutto in maiuscolo. Altrettanto fastidioso è quando un cliente ha l'amministrazione dei contenuti del sito e, appunto, ha il brutto vizio a scrivere tutto in maiscolo.
Con questa funzione il testo viene riformattato con il primo carattere dopo il punto in maiuscolo, e il resto in minuscolo.
Di particolare importanza 2 funzioni:
PHP:
-
$text="TEST. TESTO MAIUSCOLO. COME FARE.";
-
-
function formatta_testo ($stringa){
-
$stringa =
explode ('.',
$stringa);
-
-
for ($i = 0; $i <$n; $i++){
-
-
if ($i> 0){
-
$stringa[$i] = ' ' . $stringa[$i];
-
}
-
}
-
$stringa =
implode ('.',
$stringa);
-
return $stringa;
-
}
-
-
echo formatta_testo
($text);
// Test. Testo maiuscolo. Come fare.
Per inizializzare un cookie con php si utilizza la funzione
setcookie(nome, valore, scadenza, percorso, dominio, sicurezza);
che va messa all'inizio dello script.
I parametri, di facile lettura:
- nome: è il nome che avrà il cookie;
- valore: il valore del cookie;
- scadenza: indica quando scadrà il cookie in secondi;
- percorso: del server su cui il cookie sarà disponiblie
- dominio: il dominio relativo
- sicurezza: se settato su TRUE il cookie si inizializza solo se esiste una connessione https (possiamo tralasciare)
Supponiamo di voler chiedere ad un visitatore il suo nome per registrarlo su un cookie e salutarlo ogni volta che ritorna sul sito.
Per prima cosa nella pagina index.php verifichiamo che il cookie non esista già, se non esiste chiediamo al visitatore di inserire il suo nome tramite un semplice form che invierà le informazioni a set_cookie.php, altrimenti possiamo già salutarlo chiamandolo per nome.
PHP:
-
<?php
-
$the_cookie=$_COOKIE['nome_visitatore'];
-
-
if (empty($the_cookie)) {
-
echo " <form method=\"post\" action=\"set_cookie.php\">
-
Ciao, come ti chiami?
-
<input type=\"text\" name=\"nome\" />
-
<input type=\"submit\" name=\"Submit\" value=\"Submit\" />
-
</form>";
-
} else {
-
echo "Ciao ".
$the_cookie.
"!";
-
}
-
?>
in set_cookie.php avremo dunque il recupero del nome inviato e l'inizializzazione del cookie.
PHP:
-
<?php
-
$nome_da_registrare=$_POST['nome'];
-
setcookie("nome_visitatore",
$nome_da_registrare,
time()+
3600,
"/");
-
-
echo "Cookie inizializzato, <a href=\"index.php\">Torna indietro</a>";
-
?>
N.B.
time()+3600 -> equivale a un'ora.
"/" -> il coockie è valido per tutto il dominio
il paramentro dominio può essere tralasciato se non esistono subdomini
Prendo spunto da una chiave di ricerca utilizzata per arrivare qua.
Contare i caratteri di una stringa in php è molto semplice perchè esiste già una funzione adatta a questo scopo:
strlen($stringa)
Una cosa da tenere sempre presente è che gli spazi vuoti sono considerati un carattere come qualsiasi altro e vengono quindi conteggiati.
PHP:
-
$stringa = "sempreverde";
-
-
-
$stringa = "stringa con spazi vuoti";
-
Un Array è una sorta di variabile che contiene più valori (facendola facile). Un metodo comodo per recuperare i valori di un Array è utilizzare un cliclo for come nell'esempio qui sotto.
La funzione count permette di contare gli elementi dell'array e quindi impostare il ciclo.
PHP:
-
$stati =
array('italia',
'francia',
'spagna',
'olanda',
'belgio');
-
-
$numero_stati =
count($stati);
-
-
for ($contatore=0; $counter<=$numero_stati; $contatore++) {
-
echo $stati[$contatore] .
"<br>";
-
}
Quello che restituisce il ciclo for è l'equivalente di
Ovviamente il ciclo for e la funzione count permettono di lavorare su Array dei quali non si conosce a prescindere il numero degli elementi.
In alcuni casi puoi aver necessità di riportare solo una parte di una stringa molto lunga. Ad esempio quando devi far vedere il preview di una news. A questo scopo torna utilissima una funzione già bella pronta di php:
substr ( string ,start [,length] )
i 3 paramentri da prendere in considerazioni sono:
- la stringa su cui devi lavorare (string)
- la posizione di partenza (start)
- il numero di caratteri che vuoi visualizzare (length)
ecco ad esempio come prendere i primi 35 caratteri del primo verso della Divina Commedia
PHP:
-
$string ="Nel mezzo del cammin di nostra vita
-
mi ritrovai per una selva oscura,
-
ché la diritta via era smarrita.
-
";
-
$preview =
substr($string,
0,
35);
// "0" indica l'inizio
-
Il risultato dell'echo sarà:
"Nel mezzo del cammin di nostra vita ..."
...
come invece contare le parole e non i caratteri, te lo faccio vedere un'altra volta
Published on
October 26, 2008 in
dritte.
Tags: html.
Quando si inserisce del codice html all'interno di una chiamata echo, ricordarsi di anteporre il backslash \ ai doppi apici ". In questo modo.
PHP:
-
echo "<img src=\"immagine.gif\" width=\"72\" height=\"72\">";
In alternativa si possono direttamente escludere le virgolette, ma è decisamente poco elegante e può in casi particolari generare comunque errore. Non in questo.
PHP:
-
echo "<img src=immagine.gif width=72 height=72>";
Creare un campo input select con possibilità di selezione multipla come questo qui a fianco non è un problema, può invece esserlo recuperare tutti i valori che vengono postati.
Optare per una selezione di questo tipo significa voler passare più valori per la stessa variabile, dovrai quindi necessariamente trattarla come array, utilizzando le parentesi quadre "[]" nel nome del select. Nell'esempio qui sotto il select lo chiamo Selezione[] ed invia i valori alla pagina visualizza.php.
HTML:
-
-
-
-
</head>
-
-
<form id="form" name="form" method="post" action="visualizza.php">
-
<select name="Selezione[]" size="5" multiple="multiple">
-
<option value="Valore1">Opzione 1
</option>
-
<option value="Valore2">Opzione 2
</option>
-
<option value="Valore3">Opzione 3
</option>
-
<option value="Valore4">Opzione 4
</option>
-
<option value="Valore5">Opzione 5
</option>
-
-
<input type="submit" name="Submit" value="Invia" />
-
</form>
-
</body>
-
</html>
A questo punto nel file visualizza.php con foreach puoi recuperare tutti i valori ed utilizzarli come meglio credi.
PHP:
-
<?php
-
$Selezione=$_POST['Selezione'];
-
-
foreach ($Selezione as $valore) {
-
-
}
-
?>
Prendendo d'esempio sempre l'immagine in alto, il risultato sarà:
Valore2
valore4
Esiste una sintassi alternativa ad echo, poco usata, poco elegante, ma particolarmente veloce. Pratica soprattutto quando si usano inserti di php
es.
può essere sostituito con
Allo stesso modo se invece di una stringa vuoi stampare a video il valore di una variabile $var puoi scrivere
Con questo script è possibile leggere il contenuto di una directory.
Tramite un cliclo while viene mostrato il nome dell'oggetto trovato, se trattasi di file o directory e la dimensione
PHP:
-
$Directory = "."; // la directory di cui mostrare il contenuto
-
-
-
{
-
-
-
while(false !==
($file =
readdir($dir)))
-
{
-
$type =
filetype($Directory .
"/".
$file);
-
// $size = filesize($file); corretto come sotto
-
$size =
filesize($Directory .
"/".
$file);
-
echo "$file | $type | $size \n";
-
}
-
-
-
}
-
else
-
{
-
echo $Directory .
" non è una directory";
-
}
Può spesso succedere di lavorare con le date in formato AAAA-MM-GG e di doverle convertire nel ns. formato GG-MM-AAAA (o viceversa). Un caso tipico si presenta quando una data estratta da un database mysql va mostrata a video ad un'utenza italiana.
Con questa semplice funzione è possible convertire le date sia dal formato americano a quello italiano che viceversa.
PHP:
-
function ConvertitoreData($data){
-
-
$a=$separa[0];
-
$b=$separa[1];
-
$c=$separa[2];
-
$data_convertita="$c-$b-$a";
-
return $data_convertita;
-
}
-
-
$data_da_convertire="2008-10-20";
-
echo ConvertitoreData
($data_da_convertire);
il risultato dell'echo di riga 11 sarà "20-10-2008".
Ultimi Commenti