2009-04-07 18 views
7

Mamy pewne informacje o ułamkach przechowywane w bazie danych, np. ¾ ½Konwersja ułamków na jednostki html

Skrót od wyszukiwania i zamiany, czy są jakieś wbudowane funkcje PHP, które automatycznie przekonwertują je na odpowiednie encje html?

Odpowiedz

2

Możesz użyć htmlentities() function. Spowoduje to zastąpienie wszystkich znaków specjalnych ich odpowiednikiem HTML. Powinien wykonać pracę, której wymagasz.

Dobre pytanie, +1.

2

htmlentities.

Ale prawdopodobnie nie musisz. Udostępniaj swoją stronę w kodowaniu, który je zawiera (UTF-8, ISO-8859-1) i możesz dołączyć je jako literalne znaki bez znaku.

+0

naprawdę? czy dotyczy to tylko frakcji? – Tom

+1

Utf-8 pozwoli ci użyć prawie dowolnej postaci bez konwersji. Powinieneś jednak wywoływać htmlentities dla bezpieczeństwa. http://akrabat.com/2009/03/18/utf8-php-and-mysql/ szczegóły kroków, które należy wykonać w UTF-8 - musisz dokonać zmian w php, mysql i html. –

+0

Dotyczy to wszystkiego, co można dopasować do używanego kodowania. Jeśli jesteś w ISO-8859-1 (Europa Zachodnia), otrzymujesz do U + 00FF, który obejmuje ¼½¾ (U + 00BC-U + 00BE). Jeśli używasz UTF-8, który obejmuje całą gamę znaków Unicode. Chociaż nadal potrzebujesz htmlspecialchars, aby radzić sobie z '<'/'&'. – bobince

1

Odpowiedź jest już podana: użyj htmlentities(). Dodatkowo zasugerowano użycie UTF-8, co oczywiście jest naprawdę dobrym pomysłem. Jednakże, jeśli planujesz za pomocą htmlentities() na UTF-8 ciągi, należy użyć następującego kodu (albo dostaniesz dziwnie kodowane znaków):

htmlentities($str, ENT_COMPAT, 'UTF-8') 

Jak można sobie wyobrazić, to jest do bani konieczności dodać drugi i cały trzeci argument. Dla większości projektów potrzebuję htmlentities() w, kończę pisanie funkcji skrótu, tj .:

function he($str) { // shortcut function for htmlentities() with UTF-8 settings 
return htmlentities($str, ENT_COMPAT, 'UTF-8'); 
}