UTF-8 este metoda de codare a caracterelor tip ă , î , â , ș , ț cea mai frecvent folosită atunci când un website trebuie să fie compatibil cu orice altă limbă decât Engleză.
Uneori, vei vrea să folosești aceste caractere pentru a denumi fișiere cu ajutorul PHP folosind un șir de caractere extras din baza de date.
Pentru a obține rezultatul dorit, va trebui să folosești funcția utf8_decode().
Uite un exemplu:
/** * $result este obiectul returnat atunci când * se extrage unul sau mai multe produse din baza de date. * $result->nume_produs este numele produsului. */ fopen(utf8_decode($result->nume_produs) . ‘.txt’, “w+”);
Uneori vei folosi ghilimelele pentru a scrie text. Acestea trebuiesc convertite la valoarea lor HTML Decimala pentru a evita conflictele.
Uite un exemplu:
/**Afișat de către browser textul arată astfel:*/ “Acesta este un text care conține ghilimele.” /**În baza de date textul arată astfel:*/ “Acesta este un text care conține ghilimele.”
Problema apare atunci când vrei să scrii acest text într-un fișier cu ajutorul PHP.
Pentru a putea scrie textul folosit drept exemplu într-un fișier, va trebui să convertești valorile HTML Decimale în caractere HTML, adică “ în “.
Uite o funcție găsită pe PHP.net care rezolvă această problemă:
function unichr($dec) {
if ($dec < 128) {
$utf = chr($dec);
} else if ($dec < 2048) {
$utf = chr(192 + (($dec - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
} else {
$utf = chr(224 + (($dec - ($dec % 4096)) / 4096));
$utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
}
return $utf;
}
$text = '“Acesta este un text care conține ghilimele.”';
print preg_replace("/&#(\d{2,5});/e", "unichr($1);", $text);
În exemplul de mai sus preg_replace() folosește funcția unichr() pe post de înlocuitor a caracterelor care se potrivesc.
Atunci când programezi PHP Orientat pe Obiecte pentru a apela funcția unichr() trebuie să faci referire la ea folosind Obiectul $this.
Uite soluția în acest caz (remarcă \$):
/**
* Remarcă folosirea combinației \$ .
* Doar așa vei putea face referire la metoda unichr()
* atunci când scrii PHP Orientat pe Obiecte.
*/
preg_replace("/&#(\d{2,5});/e", "\$this->unichr($1)", $text);
Iată tehnologiile web pe care le folosesc
Trebuie să ai această carte! Este modul cel mai simplu de a afla de ce și cum trebuie să construiești un caracter puternic cu ajutorul căruia să obții ceea ce-ți propui, să ai succes în viață și să ajungi Dragostea Adevărată. - Succes! -
* Disponibilă doar pe www.Trim.ro
Cumpără
36.90RON
Citește ultimul articol
Alege Cosmote, Vodafone sau Orange; principalii operatori de telefonie mobila care pun la dispoziție servicii de internet mobil pe calculatorul tău.
Vezi ultima înregistrare video
Acesta este primul din cele 10 episoade care îți vor arăta cum să folosești CodeIgniter, librăria PHP cu care poți realiza aplicații web inteligente.
«Cu cât clientul va fi mai mulțumit cu atât vei câștiga mai mult din colaborarea cu el.»
creare website, standarde și competitivitate