Bonjour à toutes et à tous !
Pour un projet personnel, je suis amené à colorer du code entre crochet en Ruby. Pour ça, j'ai utilisé l'excellente bibliothèque GeiShi, mais je suis confronté à un problème.
En effet, dès que le texte à colorer dépasse 45 233 caractères, la REGEX ne s'exécute pas et le texte ne s'affiche même pas !
Savez-vous d'où peut venir ce problème ?
Voici le code pour la coloration en Ruby:
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php //Colore le code écrit en Ruby ! function ruby($texte) { $texte = preg_replace_callback('#\[ruby\](.+)?()\[/ruby\]#isU', 'parse_ruby', $texte); return $texte; } function parse_ruby($capt) { $code = trim(htmlspecialchars_decode($capt[1])); $code = new GeSHi($code, 'ruby'); $code = $code->parse_code(FALSE); return '<div><div class="tout_selectionner"><a onclick="selectCode(this); return FALSE;" href="#">Tout sélectionner</a></div>' . str_replace("\n", '<br />', $code) . '</div>'; } ?>
Merci d'avance !
Partager