Script php: Sistemare una stringa per url
difficoltà:

Script simili
14/3/2007
Questa funzione puo' risultare utile nel caso si usi mod_rewrite per riscrivere l'url di una pagina web inglobando in esso una stringa presa da database, che sia il titolo o altro.
La funzione trasforma la stringa passata in una stringa senza spazi o caratteri non standard. Gli spazi saranno sostituiti con underscore, così come i caratteri non standard. Le lettere accentate saranno sostituite con le corrispondenti lettere non accentate.
La stringa:
questa è una 'stringa'verrà trasformata in:
questa_e_una_stringaQuesta è la funzione:
function SistemaStringa($stringa){
$stringa = trim($stringa);
$stringa = str_replace("à","a",$stringa);
$stringa = str_replace("è","e",$stringa);
$stringa = str_replace("é","e",$stringa);
$stringa = str_replace("ò","o",$stringa);
$stringa = str_replace("ù","u",$stringa);
$stringa = str_replace("ì","i",$stringa);
$stringa = ereg_replace("[^A-Za-z0-9]", "_", $stringa);
$stringa = ereg_replace("_{1,}", "_", $stringa);
if(substr($stringa, 0, 1)=="_"){$stringa=substr($stringa, 1);}
if(substr($stringa, -1, 1)=="_"){$stringa=substr($stringa, 0,strlen($stringa)-1);}
return $stringa;
}
Per prima cosa vengono tolti spazi a inizio e fine stringa, poi vengono sostituiti i principali caratteri accentati con quelli non accentati. Poi tutti i caratteri diversi da numeri o lettere maiuscole o minuscole vengono trasformati in undercore. Infine se ci sono due caratteri underscore vicini vengono sostituiti con uno solo e quelli a inizio e fine vengono eliminati.
Permalink:
Tag:
Script Simili:
Script asp: Riconoscere url in un testo e trasformarli in link
Script php: Controllo validità url di video youtube ed estrazione codice video
Script php: Ricavare la favicon di un sito a partire da un url
Script php: Criptare e decriptare con chiave una stringa o password
Link utili:
Vota:
Commenti
7/3/2008 14:34:28
una volta ottenuta la nuova stringa senza caratteri strani c'è modo di riconvertirla nella stringa originale?
7/3/2008 14:37:23
No. Se salvi la stringa nel database pero' puoi salvare le due stringhe, quella originale e quella senza caratteri extra
7/3/2008 14:47:28
A dire il vero la soluzione migliore sarebbe avere un campo alias nel db. Questo campo è generato in automatico con questo script. Fai un controllo se esiste già un altro record con lo stesso alias. Se esiste fai un ciclo aggiungento ad es _1, _2 finchè il record è univoco. Ora puoi usarlo completamente al posto dell'Id. :-)
29/4/2008 17:40:32
se volessi usare il "-" al posto del "_" mi basta sostituirli così nella funzione...giusto?
function SistemaStringa($stringa){
$stringa = trim($stringa);
$stringa = str_replace("à","a",$stringa);
$stringa = str_replace("è","e",$stringa);
$stringa = str_replace("é","e",$stringa);
$stringa = str_replace("ò","o",$stringa);
$stringa = str_replace("ù","u",$stringa);
$stringa = str_replace("ì","i",$stringa);
$stringa = ereg_replace("[^A-Za-z0-9]", "-", $stringa);
$stringa = ereg_replace("-{1,}", "-", $stringa);
if(substr($stringa, 0, 1)=="-"){$stringa=substr($stringa, 1);}
if(substr($stringa, -1, 1)=="-"){$stringa=substr($stringa, 0,strlen($stringa)-1);}
return $stringa;
}
19/7/2009 17:43:21
si puo' mettere una password per alcune pagine con macromedia?

Feed Rss
5/6/2007 17:16:56
Ciao, molto utile il tuo script, ma io aggiungerei anche un
$stringa = strtolower($stringa);
per fare tutto il link in minuscolo :) Solo una piccola sciocchezza!
Nenélla