2009-12-13 13 views
5

Sto utilizzando un servizio di hosting condiviso per ospitare il mio sito in modo da non poter accedere direttamente alla configurazione PHP o installare alcuna estensione. Quindi il mio problema è con le stringhe utf-8 che non possono essere elaborate dalle funzioni di stringa PHP standard poiché non ho l'estensione mbstring installata sul server. Sto cercando un altro modo per gestire stringhe unicode, qualsiasi aiuto o guida è molto apprezzato o se conosci qualche risorsa online per favore condividili con me.come posso gestire unicode in PHP senza estensione mbstring

+5

Questo è un buon segno che si dovrebbe trovare un ospite migliore –

+0

D'accordo. Anche se non dovresti aspettarti che il tuo host installi qualsiasi estensione richiesta, mbstring dovrebbe essere considerato standard in questi giorni. Se il tuo host non lo consente, dovresti davvero trovarne un altro. –

+0

abbiamo già pagato e non esiste alcuna politica di rimborso in nessuna circostanza. – Ayoub

risposta

6

C'è la libreria PHP UTF-8 lassù a Sourceforge - potrebbe essere sufficiente per le vostre esigenze. Inoltre, le funzioni preg_* generalmente accettano il modificatore /u indipendentemente da mbstring.

A lungo termine sono d'accordo che è ora di iniziare a cercare un host più aggiornato. Mbstring è praticamente una necessità di base oggi, con un host privo di questo si deve chiedere cos'altro potrebbe mancare.

2

se non hai altra scelta che restare con questo host e non puoi torcere le braccia per fornire mbstring (c'mon, php w/o mbstring è, come, sooo 1999 [*]) quindi puoi utilizzare lo intl pecl extension? ciò in più ciò che si può fare con PCRE e iconv potrebbe essere sufficiente.

Intl ha, a parte formattatori e la raccoglitrice a portata di mano, queste funzioni grafema:

  • grapheme_extract - Funzione per estrarre una sequenza di inadempienza cluster grafema da un buffer di testo, che deve essere codificato in UTF-8.

  • grapheme_stripos - trova posizione (in unità grafema) della prima occorrenza di una stringa case-insensitive

  • grapheme_stristr - ritorni parte stringa haystack dalla prima occorrenza di case-insensitive ago a la fine del pagliaio.

  • grapheme_strlen - Get lunghezza della stringa in unità grafema

  • grapheme_strpos - Trova la posizione (in unità grafema) della prima occorrenza di una stringa

  • grapheme_strripos - Trova la posizione (in unità grafema) dell'ultima occorrenza di una stringa maiuscole/minuscole

  • grapheme_strrpos - Trova posizione (in unità grafema) dell'ultima occorrenza di una stringa

  • grapheme_strstr - Restituisce parte stringa haystack dalla prima occorrenza di ago al fine pagliaio.

  • grapheme_substr - parte di ritorno di una stringa

[*] scuse per il teenspeak