5.7.07
30.4.07
Riconoscere e creare link Web e Mail
Un applicazione pratica del precedente post. Questa funzione prende in input un testo, riconosce indirizzi mail e web e crea automaticamente i link
function MakeLinkInText($text) {
// funzione di trattamento del testo in visualizzazione
// prende un testo, cerca mail e indirizzi web, e li linka
// si presuppone che il testo sia gia pronto e non da de-quotare
$ta = explode(" ",$text);
foreach( $ta as $key => $value) {
if (eregi("^([a-z0-9]|\\-|\\.)+@(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$", $ta[$key])) {
// match per email
$ta[$key] = "<a href='mailto:".$ta[$key]."'>".$ta[$key]."</a>";
}
if (eregi("^(www.|\\WWW.)+(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$", $ta[$key])) {
// match per web senza protocollo
$ta[$key] = "<a href='http://".$ta[$key]."'>".$ta[$key]."</a>";
}
if (eregi("^(http://www.|\\http://WWW.)+(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$", $ta[$key])) {
// match per web con protocollo
$ta[$key] = "<a href='".$ta[$key]."'>".$ta[$key]."</a>";
}
}
$text = implode(" ",$ta);
return $text;
}
Pubblicato da
b0sh
alle
10:32 AM
0
commenti
Etichette: php
Validare/Riconoscere una mail in PHP
Utilizziamo una espressione regolare:
if (eregi("^([a-z0-9]|\\-|\\.)+@(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$", $string))
Il controllo che viene fatto è ovviamente solo "grammaticale", ovvero riconosce come valide mail con caratteri validi e dominio di primo livello tra le 2 e le 4 lettere.
Pubblicato da
b0sh
alle
8:22 AM
0
commenti
Etichette: php
4.4.07
Migliorare la propria produttività in PHP
Ovvero arrivare all'obbiettivo piu velocemente, con meno errori e con meno mal di testa.
L'argomento è gia stato trattato in altri post. Un buon punto di partenza è un framework, ovvero un insieme di classi, funzioni e moduli che si occupino delle operazioni piu ripetitive e che siano sufficentemente "astratti" da essere riutilizzabili in tutti i progetti. Vedi il post sull'argomento.
Un altro metodo per velocizzare è utilizzare una interfaccia di sviluppo adeguata. E il blocco note (per i MS-Fanboys) o vim (per i linuxari) non rientrano in questa definizione.
Un buon ambiente di sviluppo deve :
- essere in grado di farti muovere agilmente anche in progetti costituiti da centinaia di files
- avere una guida pronta e interattiva perche capita a tutti di dimenticarsi il funzionamento di una struttura
- evidenziare il codice in modo da renderlo piu facile da interpretare
- supportare la sincronizzazione col server (cvs, ftp, condivisione locale)
- rendere inutile l'utilizzo di phpmyadmin, fornendo la possibilita di navigare il database oltre che i file
- conoscere l'intero progetto, suggerendo variabili e classi create dal programmatore, non solo quelle proprie di php
- essere veloce: il tempo si usa per scrivere codice non per aspettare che il programma carichi
Se conoscete un ambiente di sviluppo che abbia tutto questo suggeritemelo. Io, intanto, continuo a cercare.
Pubblicato da
b0sh
alle
4:44 PM
2
commenti
Etichette: php
19.3.07
Sperimentando con Ajax
Ho provato un pò di framework e qualche risulato molto gradevole e di facile migrazione da codice esistente l'ho ottenuto tramite questo
A dire il vero non si tratta proprio di AJAX in quanto manca la X, non si usa infatti l'xml ma direttamente l'html.
Pubblicato da
b0sh
alle
4:31 PM
0
commenti
22.2.07
Charset
Gestire correttamente il charset per lo scambio di dati tra client, server web e server dati è molto importante.
Per siti solo in italiano, o al massimo in lingue europee il discorso è semplice. Basta settare in ogni componente del processo il charset corretto.
PHP : header('Content-Type: text/html; charset=iso-8859-15');
HTML: <meta equiv="Content-Type" content="text/html; charset=iso-8859-15">
MySQL: Collation latin1_swedish_ci
Il Charset iso-8859-15 gestisce correttamente tutte le lingue europee e include il simbolo dell'euro. Per esigenze piu complesse si puo usare l' UTF-8, ma raramente è necessario.
In teoria il webserver dovrebbe aggiungere gia tra gli header che invia di sua iniziativa il charset ma questo potrebbe essere differente da quello impostato in mysql o adirittura non essere settato (lasciando al browser il compito di capire quale charset meglio si adatti al contenuto che deve visualizzare) perciò specificarlo in modo esplicito è un ottima abitudine
Pubblicato da
b0sh
alle
5:16 PM
0
commenti
15.12.06
Framework PHP
La programmazione, come si sà, spesso porta ad un uso eccessivo di Copia-e-Incolla. Il riciclo di codice però porta alla difficoltà di mantenimento. Certo, il codice per mostrare il contenuto di una tabella è bene o male sempre lo stesso, ma doverlo copiare, incollare e adattare per 25 tabelle differente puo essere fastidioso.
Ancora di piu se poi capita di dover fare una piccola modifica.
Come fare allora ?
I Framework esistono per questo. Con semplici chiamate di funzioni o oggetti si possono gestire tutte quelle richieste ripetitive, in modo veloce e meno ripetitvo.
I framework si possono creare da zero, ma questa attività richiede una certa dimestichezza con la progettazione di oggetti per essere efficente, o utilizzare dei pacchetti OS.
CakePHP o Smarty possono fare al caso vostro se non avete tempo per svilupparvi un vostro framework, o semplicemente non ne avete voglia, o credete che un team di sviluppo skillato possa essere piu bravo di voi (cosa vera nella maggior parte dei casi)
Pubblicato da
b0sh
alle
11:55 AM
0
commenti
Etichette: php
28.8.06
Formattazione Float in stile Euro
Da ricordare, se si parla di soldi la formattazione piu appropriata è
sprintf("%01.2f €", $float);
e risulta:
$float: 1 out: 1.00 €
$float: 1,2 out 1.20 €
Ovvero sempre e cmq 2 cifre decimali anche se non servono. Ovviamente in php. Ma si capiva ;)
Pubblicato da
b0sh
alle
11:02 AM
0
commenti
Etichette: php