Package Charsets

Fichiers du package

FichierDescription
charsets.php

Gestion des charsets et des conversions

Proposer une amélioration

Liste des fonctions

boolean bom_utf8( string $texte )

Paramètres

  1. string $texte

    Texte dont on vérifie la présence du BOM

Retour

  • boolean

    true s'il a un BOM

Package

Proposer une amélioration

Ce bloc provient de php.net

\char caractere_utf_8( integer $num )

Paramètres

  1. integer $num

    Numéro de l'entité unicode

Retour

  • \char

    Caractère utf8 si trouvé, '' sinon

Package

Author

  • Ronen
Proposer une amélioration

Utilise la librairie mb si elle est présente.

string charset2unicode( string $texte , string $charset = 'AUTO' )

Paramètres

  1. string $texte

    Texte à convertir

  2. string $charset = 'AUTO'

    Charset actuel du texte Par défaut (AUTO), le charset est celui du site.

Retour

  • string

    Texte converti en unicode

Utilisé par

Package

Internal

  • Note: l'argument $forcer est obsolete : il visait a ne pas convertir les accents iso-8859-1
Proposer une amélioration

Cf. charsets/iso-8859-1.php (qu'on recopie ici pour aller plus vite) On peut passer un charset cible en parametre pour accelerer le passage iso-8859-1 -> autre charset

string | array corriger_caracteres_windows( string | array $texte , string $charset = 'AUTO' , string $charset_cible = 'unicode' )

Paramètres

  1. string | array $texte

    Le texte à corriger

  2. string $charset = 'AUTO'

    Charset d'origine du texte Par défaut (AUTO) utilise le charset du site

  3. string $charset_cible = 'unicode'

    Charset de destination (unicode par défaut)

Retour

  • string | array

    Texte corrigé

Package

Proposer une amélioration

Transforme les é en {

string html2unicode( string $texte , boolean $secure = false )

Paramètres

  1. string $texte

    Texte à convertir

  2. boolean $secure = false

    true pour ne pas convertir les caracteres malins < & etc.

Retour

  • string

    Texte converti

Utilisé par

Package

Proposer une amélioration

Les caractères non resolus sont transformés en &#123;

string importer_charset( string $texte , string $charset = 'AUTO' )

Paramètres

  1. string $texte

    Texte unicode à importer

  2. string $charset = 'AUTO'

    Charset d'origine du texte Par défaut (AUTO), le charset d'origine est celui du site.

Retour

  • string

    Texte transformé dans le charset site

Package

Proposer une amélioration
boolean init_mb_string( )

Retour

  • boolean

    true si toutes les fonctions mb nécessaires sont présentes

Package

Proposer une amélioration
boolean is_ascii( string $string )

Paramètres

  1. string $string

    Texte dont on vérifie qu'il est de l'ascii

Retour

  • boolean

    true si c'est le cas

Package

Proposer une amélioration

Note: preg_replace permet de contourner un "stack overflow" sur PCRE

boolean is_utf8( string $string )

Paramètres

  1. string $string

    Texte dont on vérifie qu'il est de l'utf-8

Retour

  • boolean

    true si c'est le cas

Package

Proposer une amélioration
string javascript_to_binary( string $texte )

Paramètres

  1. string $texte

    Texte à convertir

Retour

  • string

    Texte converti

Package

Proposer une amélioration
string javascript_to_unicode( string $texte )

Paramètres

  1. string $texte

    Texte à convertir

Retour

  • string

    Texte converti

Package

Proposer une amélioration

Charsets supportés en natif : voir les tables dans ecrire/charsets/ Les autres charsets sont supportés via mbstring()

string | boolean load_charset( string $charset = 'AUTO' )

Paramètres

  1. string $charset = 'AUTO'

    Charset à charger. Par défaut (AUTO), utilise le charset du site

Retour

  • string | boolean
    • Nom du charset
    • false si le charset n'est pas décrit dans le répertoire charsets/

Package

Proposer une amélioration

Transforme ∠ en ∠ ainsi que toutes autres entités mathématiques

string mathml2unicode( string $texte )

Paramètres

  1. string $texte

    Texte à convertir

Retour

  • string

    Texte converti

Package

Proposer une amélioration

..)

Retourne pour une expression rationnelle une plage de caractères alphanumériques à utiliser entre crochets [$plage]

string pcre_lettres_unicode( )

Retour

  • string

    Plage de caractères

Package

Internal

  • N'est pas utilisé Servait à inc/ortho passé dans le grenier
Proposer une amélioration

Retourne pour une expression rationnelle une plage de caractères de ponctuation à utiliser entre crochets [$plage] (i.e. de 226-128-128 a 226-129-176)

string plage_punct_unicode( )

Retour

  • string

    Plage de caractères

Package

Internal

  • N'est pas utilisé Servait à inc/ortho passé dans le grenier
Proposer une amélioration

Version utf-8 de strlen

integer spip_strlen( string $c )

Paramètres

  1. string $c

    La chaîne à compter

Retour

  • integer

    Longueur de la chaîne

Package

Proposer une amélioration

Version utf-8 de strtolower

string spip_strtolower( string $c )

Paramètres

  1. string $c

    La chaîne à transformer

Retour

  • string

    La chaîne en minuscules

Package

Proposer une amélioration

Coupe une chaîne en utilisant les outils mb* lorsque le site est en utf8

string spip_substr( string $c , integer $start , null | integer $length = null )

Paramètres

  1. string $c

    Le texte

  2. integer $start

    Début

  3. null | integer $length = null

    Longueur ou fin

Retour

  • string

    Le texte coupé

Package

Proposer une amélioration

Version manuelle de substr utf8, pour php vieux et/ou mal installe

string spip_substr_manuelle( string $c , integer $start , null | integer $length = null )

Paramètres

  1. string $c

    Le texte

  2. integer $start

    Début

  3. null | integer $length = null

    Longueur ou fin

Retour

  • string

    Le texte coupé

Utilisé par

Package

Proposer une amélioration

Version utf-8 d'ucfirst

string spip_ucfirst( string $c )

Paramètres

  1. string $c

    La chaîne à transformer

Retour

  • string

    La chaîne avec une majuscule sur le premier mot

Package

Proposer une amélioration

Celui-ci coupe sur certaines versions la chaine quand un caractère n'appartient pas au charset

boolean test_iconv( )

Retour

  • boolean

    true si iconv fonctionne correctement

Package

Proposer une amélioration

Contournement bug Debian Woody

boolean test_pcre_unicode( )

Retour

  • boolean

    true si PCRE supporte l'UTF-8 correctement

Package

Proposer une amélioration

Transcode une page (attrapée sur le web, ou un squelette) vers le charset du site en essayant par tous les moyens de deviner son charset (y compris dans les headers HTTP)

string transcoder_page( string $texte , string $headers = '' )

Paramètres

  1. string $texte

    Page à transcoder, dont on souhaite découvrir son charset

  2. string $headers = ''

    Éventuels headers HTTP liés à cette page

Retour

  • string

    Texte transcodé dans le charset du site

Utilisé par

Package

Proposer une amélioration

Permet, entre autres, d’enlever les accents, car la table ASCII non étendue ne les comporte pas.

Attention les caractères non reconnus sont renvoyés en utf-8

string translitteration( string $texte , string $charset = 'AUTO' , string $complexe = '' )

Paramètres

  1. string $texte
  2. string $charset = 'AUTO'
  3. string $complexe = ''

Retour

  • string

Package

Proposer une amélioration

Remplace des caractères dans une chaîne par des chiffres

string translitteration_chiffree( string $car )

Paramètres

  1. string $car

Retour

  • string

Package

Proposer une amélioration

&agrave; est retourné sous la forme a` et pas à mais si $chiffre=true, on retourne a8 (vietnamien)

string translitteration_complexe( string $texte , boolean $chiffres = false )

Paramètres

  1. string $texte
  2. boolean $chiffres = false

Retour

  • string

Package

Proposer une amélioration
string translitteration_rapide( string $texte , string $charset = 'AUTO' , string $complexe = '' )

Paramètres

  1. string $texte
  2. string $charset = 'AUTO'
  3. string $complexe = ''

Retour

  • string

Utilisé par

Variables globales

  • array $CHARSET

Package

Staticvar

  • array $trans
Proposer une amélioration

Attention on ne transforme pas les entites < € car si elles ont ete encodees ainsi c'est a dessein

string unicode2charset( string $texte , string $charset = 'AUTO' )

Paramètres

  1. string $texte

    Texte unicode à transformer

  2. string $charset = 'AUTO'

    Charset à appliquer au texte Par défaut (AUTO), le charset sera celui du site.

Retour

  • string

    Texte transformé dans le charset souhaité

Package

Proposer une amélioration
string unicode_to_javascript( string $texte )

Paramètres

  1. string $texte

    Texte à convertir

Retour

  • string

    Texte converti

Package

Proposer une amélioration
string unicode_to_utf_8( string $texte )

Paramètres

  1. string $texte

    Texte à convertir

Retour

  • string

    Texte converti

Utilisé par

Package

Proposer une amélioration
string utf8_noplanes( string $x )

Paramètres

  1. string $x

    La chaîne à transformer

Retour

  • string

    La chaîne avec les caractères utf8 des hauts "planes" échappée en unicode : 💩

Package

Proposer une amélioration

UTF-32 ne sert plus que si on passe par iconv, c'est-a-dire quand mb_string est absente ou ne connait pas notre charset.

Mais on l'optimise quand meme par mb_string => tout ca sera osolete quand on sera surs d'avoir mb_string

string utf_32_to_unicode( string $source )

Paramètres

  1. string $source

    Texte UTF-8 à transformer

Retour

  • string

    Texte transformé en unicode

Package

Proposer une amélioration

Utilise la librairie mb si présente

string utf_8_to_unicode( string $source )

Paramètres

  1. string $source

    Texte UTF-8 à transformer

Retour

  • string

    Texte transformé en unicode

Package

Proposer une amélioration