1 out of 1 members found this post helpful.
Hai sa ma bag si eu in seama.
In toate cazurile de mai sus putem ajunge in sitatii neplacute.
De exemplu: nu pot da replace la '!' cu '' pentru ca '!' poate fi la mijlocul textului.
Deasemenea, in alte cazuri, putem ajunge sa avem '---text-de-url---' si un singur replace nu ne ajuta.
Cea ma buna solutie de trim ramane trim($str, $chr)
si face trim global la toate instantele $chr .
Eu folosesc o functie cu o singura linie de cod:
Cod PHP:
function doStringToRewriteUrl ($sString){
return strtolower(trim(preg_replace("/[^0-9a-zA-Z]+/", "_", $sString),"_"));
}
O ultima observatie: eu generez stringul pentru mod_rewrite la adaugarea unei inregistrari in baza de date si nu la afisare din 2 motive:
1. o operatie in minus la afisare
2. il generez in timp ce se completeaza titlul articolului si userul il poate edita daca doreste.