PHP SmartyPants : Configuration
PHP SmartyPants Lib inclus deux parseurs: SmartyPants
et SmartyPantsTypographer
. Voici une liste des réglages qui peuvent s’appliquer à chaqun d’eux.
- Configurer le parseur
- Préréglages
- Configuration pour SmartyPants
- Configuration pour SmartyPants Typographer
- Sortie UTF-8
- Configurer la version classique
Configurer le parseur
Pour changer le comportement par défaut, vous pouvez passer comme deuxième argument à la fonction defaultTransform
une chaîne de configuration:
use Michelf\SmartyPants;
$html = SmartyPants::defaultTransform($text, "1");
Vous pouvez aussi créer une instance du parseur directement avec la chaône de configuration voulue avant d’appeler sa méthode transform
:
use Michelf\SmartyPants;
$parser = new SmartyPants("1");
$html = $parser->transform($text);
La chaîne de configuration peut prendre deux formes: elle peut spécifier un préréglage, ou elle peut fournir une liste d’option à activer. Les préréglages et les options de configuration disponibles sont décrits ci-bas.
Vous pouvez aussi changer les variables de configuration directement sur l’instance du parseur:
use Michelf\SmartyPants;
$parser = new SmartyPants;
$parser->do_dashes = 2;
$html = $parser->transform($text);
La configuration de SmartyPantsTypographer
se fait de la même façon. Remplassez simplement SmartyPants
par SmartyPantsTypographer
.
Préréglages
SmartyPants vient avec trois préréglages que vous pouvez utiliser au lieu de spécifier chaque option séparément:
"0"
- Supprimme toute transformation. (Ne fait rien.) La sortie est identique à l’entrée.
"1"
- Effectue les transformations par défaut de SmartyPants: les guillemets (incluant les guillemets obliques), les points de suspension, deux traits d’union pour indiquer un tiret long (il n’y a pas de support pour les tirets courts).
"2"
- Même chose que
"1"
, excepté que le raccourci pour les tirets court devient--
deux traits-d’union et trois traits d’union---
servent pour les tirets long. "3"
- Même chose que
"2"
, mais inverse le raccourci pour les tirets long--
et pour les tirets courts---
. "-1"
- Mode abrutissant. Inverse les transformations de SmartyPants, changeant les
entités HTML produites par SmartyPants en leurs équivalents ASCII. Par
exemple,
“
devient un simple guillement double,—
devient deux traits d’union, etc. C’est utile si pour supprimer la ponctuation typographique sur des pages spécifiques, tel que les fils RSS.
Configuration de SmartyPants
- tags_to_skip =
'pre|code|kbd|script|style|math'
-
Liste des balises HTML dont le contenu ne sera pas affecté par SmartyPants.
(Note: Cette chaîne est injectée dans une expression régulière, donc des précautions doivent être prises pour ne pas placer des caractères spéciaux qui pourrait briser l’expression.)
- do_nothing
-
Régler cette variable à
1
désactivera toutes les transformations de SmartyPants. Régler à0
pour permettre aux autres transformations de s’exécuter. - do_quotes
-
Transforme les guillemets droits
"
en guillemets “courbes”. Fonctionne aussi avec les guillemets simples et les apostrophes.Option Variable "droit"
'droit'
q
do_quotes = 1
“courbe” ‘courbe’ Ceci est activé par défaut si l’on utilise un préréglage. Réglez à
0
pour désactiver. - do_backticks
-
Transforme les guillemets approximatifs
``comme ça''
en guillemets “courbes”. Régler à2
pour traiter aussi les guillemets simples.Option Variable ``double''
`simple'
b
do_backticks = 1
“courbe” B
do_backticks = 2
“courbe” ‘courbe’ La première variante ci-haut est activée si l’on utilise un préréglage. Réglez à
0
pour désactiver. - do_dashes
-
Transforme les double traits d’union en tirets, et optionnellement les triple traits d’union.
Option Variable Double --
Triple ---
d
do_dashes = 1
long — D
do_dashes = 2
court – long — i
do_dashes = 3
long — court – La première variante ci-haut est activée si l’on utilise un préréglage. Réglez à
0
pour désactiver. - do_ellipses
-
Transforme trois points consécutifs en caractère de points de suspension.
Option Variable ...
e
do_ellipses = 1
… Ceci est activé par défaut si l’on utilise un préréglage. Réglez à
0
pour désactiver. - do_stupefy
-
Réglez à
1
pour convertir les caractère typographiques en caractère ASCII. - convert_quot
-
Converti
"
en entité HTML pour un guillement double droit"
. Ceci est fait avant les autres transformations, et le résultat final sera un guillement droit seulementdo_quotes
n’est pas activé. Utilisez cette option si votre éditeur HTML émet"
en tappant des guillemets.Option Variable "
w
convert_quot = 1
"
- smart_doublequote_open =
'“'
- smart_doublequote_close =
'”'
- smart_singlequote_open =
'‘'
- smart_singlequote_close =
'’'
(aussi apostrophe) -
Caractère de remplacement pour les guillemets droits, double et simple. La valeur par défaut produira des guillemets “doubles”, ‘simples’ et des apostrophes courbés. Remplacez ces caractères si vous voulez les convertir automatiquement à quelque chose d’approprié pour une autre langue.
- backtick_doublequote_open =
'“'
- backtick_doublequote_close =
'”'
- backtick_singlequote_open =
'‘'
- backtick_singlequote_close =
'’'
(aussi apostrophe) -
Caractère de remplacement pour les guillemets approximatifs activés par
do_backticks
ci-haut. - em_dash =
'—'
- en_dash =
'–'
-
Caractère de remplacement pour les tirets longs et courts.
- ellipsis = ‘…’
-
Caractère de remplacement pour les points de suspension.
Configuration de SmartyPants Typographer
- do_comma_quotes
-
Transforme les guillemets approximatifs de style
,,allemand``
ou''grecs,,
en leur équivalent typographiques. Cette option gère seulement la partie basse,,
composés de deux virgules consécutives et devrait être utilisé en conjonction avecdo_backticks
pour que le guillement haut soit converti aussi.Option Variable ,,
c
do_comma_quotes = 1
„ Réglez à
0
pour désactiver. - do_guillemets
-
Transforme les guillemets approximatifs de style français (
<<
et>>
) en leur équivalent typographique.Option Variable <<
>>
g
do_guillemets = 1
« » Réglez à
0
pour désactiver. - do_geresh_gershayim
-
Transforme les apostrophes et guillemets droits au milieu d’un mot hébreu en geresh ou gershayim typographiquement correct. Ne s’applique que si un lettre en hébreu se trouve de chaque côté.
Option Variable צ'ארלס
צה"ל
G
do_geresh_gershayim = 1
צ׳ארלס צה״ל - do_space_colon
-
Transforme le caractère d’espacement précédant un deux-points en espace insécable. Peut aussi insérer ou retirer de force l’espacement.
Option Variable this:
this :
:
do_space_colon = 1
this:
this_:
:+
do_space_colon = 2
this_:
this_:
:-
do_space_colon = -1
this:
this:
La première variante ci-haut est activée si l’on utilise un préréglage. Réglez à
0
pour désactiver. - do_space_semicolon
-
Transforme le caractère d’espacement précédant un point virgule en espace insécable. Peut aussi insérer ou retirer de force l’espacement.
Option Variable this;
this ;
:
do_space_semicolon = 1
this;
this_;
:+
do_space_semicolon = 2
this_;
this_;
:-
do_space_semicolon = -1
this;
this;
La première variante ci-haut est activée si l’on utilise un préréglage. Réglez à
0
pour désactiver. - do_space_marks
-
Transforme le caractère d’espacement précédant un point d’exclamation ou un point d’interrogation en espace insécable. Peut aussi insérer ou retirer de force l’espacement.
Option Variable ¡this!
¡ this !
m
do_space_semicolon = 1
¡this!
¡_this_!
m+
do_space_semicolon = 2
¡_this_!
¡_this_!
m-
do_space_semicolon = -1
¡this!
¡this!
La première variante ci-haut est activée si l’on utilise un préréglage. Réglez à
0
pour désactiver. - do_space_emdash
-
Transforme les caractères d’espacement autour d’un tiret long en espace sécable. Peut aussi insérer ou retirer de force l’espacement.
Option Variable a—b
a — b
h
do_space_emdash = 1
a—b
a_—_b
h+
do_space_emdash = 2
a_—_b
a_—_b
h-
do_space_emdash = -1
a—b
a—b
Réglez à
0
pour désactiver. - do_space_endash
-
Transforme les caractères d’espacement autour d’un tiret court en espace sécable. Peut aussi insérer ou retirer de force l’espacement.
Option Variable a–b
a – b
H
do_space_endash = 1
a–b
a_–_b
H+
do_space_endash = 2
a_–_b
a_–_b
H-
do_space_endash = -1
a–b
a–b
Réglez à
0
pour désactiver. - do_space_frenchquote
-
Transforme le caractère d’espacement sur l’intérieur des guillemets français en espace insécable. Peut aussi insérer ou retirer de force l’espacement.
Option Variable «allô»
« allô »
f
do_space_frenchquote = 1
«allô»
«_allô_»
f+
do_space_frenchquote = 2
«_allô_»
«_allô_»
f-
do_space_frenchquote = -1
«allô»
«allô»
Notez qu’avec la première variante du tableau ci-haut, l’espacement autour des guillemets »allemand« ou »finlandais» restent intouchés. Les deux autres variantes ne devrait normalement être utilisés qu’avec du texte en français.
La première variante ci-haut est activée si l’on utilise un préréglage. Réglez à
0
pour désactiver. - do_space_thousand
-
Transforme le caractère d’espacement utilisé comme séparateur de millier en espace insécable. Peut aussi insérer ou retirer de force l’espacement.
Option Variable 10 000 bugs
10000 bugs
t
do_space_thousand = 1
10_000 bugs
10000 bugs
t+
do_space_thousand = 2
10_000 bugs
10_000 bugs
La première variante ci-haut est activée si l’on utilise un préréglage. Réglez à
0
pour désactiver. - do_space_unit
-
Transforme le caractère d’espacement utilisé comme séparateur entre un nombre et une abbréviation d’unité reconnue en espace insécable. Peut aussi insérer ou retirer de force l’espacement.
Option Variable 12 kg
12kg
u
do_space_unit = 1
12_kg
12kg
u+
do_space_unit = 2
12_kg
12_kg
u-
do_space_unit = -1
12kg
12kg
La première variante ci-haut est activée si l’on utilise un préréglage. Réglez à
0
pour désactiver. - doublequote_low =
"„"
-
Caractère de remplacement pour les guillmets bas activés par
do_comma_quotes
ci-haut. - guillemet_leftpointing =
"«"
- guillemet_rightpointing =
"»"
-
Caractère de remplacement pour les guillemets français approximatifs activés par
do_guillemets
ci-haut. - geresh =
"׳"
- gershayim =
"״"
-
Caractère de remplacement pour les geresh et gershayim en hébreu.
- space_emdash =
" "
- space_endash =
" "
- space_colon =
" "
- space_semicolon =
" "
- space_marks =
" "
- space_frenchquote =
" "
- space_thousand =
" "
- space_unit =
" "
-
Caractère d’espacement utilisé pour chaque règle d’espacement. La valeur par défaut correspond à un espace insécable, sauf autour des tirets où un espace sécable régulier est utilisé.
Utilisez d’autre caractères unicodes ou des balises HTML pour produire un résultat différent.
- space =
'(?: | | |�*160;|�*[aA]0;)'
-
Expression régulière pour trouver un caractère d’espacement, sécable ou insécable.
Sortie UTF-8
La configuration par défaut de PHP SmartyPants émet des entités HTML. Vous pouvez les remplacer par des caractères dans les différentes variables de configuration par leur équivalent en caractère UTF-8. Ou plus simplement appeler la méthode suivante:
$parser->decodeEntitiesInConfiguration()
Cette méthode remplacera toutes les entités HTML dans les variables de
configuration en utilisant
html_entity_decode
.
Configurer la version classique
Les options de configuration pour la version classique peuvent se changer avec la même chaîne de configuration que PHP SmartyPants Lib.
La fonction defaultTransform
n’existe pas. À la place, une fonction globale SmartyPants
est disponible pour effectuer la transformation à laquelle vous pouvez ajouter une chaîne de configuration.