Colorisation/liens directs vers fonctions

Répondre
doof
le 23/04/2004 à 00:38
doof
Salut, Je suis en train de me faire un mod d'affichage de source php avec colorisation et liens direct des fonctions vers le manuel php.

Ca marche a peu pres quoique un peu bancale... Je me suis fait une petite fonction pour les liens directes qui marche sauf que c'est terriblement lent (a mon grand dam, je pensait justement faire quelquechose de rapide).

J'aurais donc aimé savoir quelle était la méthode utilisée sur ce forum ou ca a l'air d'etre bien plus rapide.

Je vous donne quand meme ma fonction quoique bien lente :

<?php
//mise dans un tableau de toutes les fonctions
$keywords=get_defined_functions();
//appel a la fonction qui transforme en masque
$keys= array_map("to_preg", $keywords['internal']);
//fonction qui crée les masques
function to_preg($n) {
return '#(>|\&nbsp;)('.$n.')(<|\&nbsp;)#Ui';
}
//remplacement dans le code
$code = preg_replace($keys, "\\1<a href=\"http://www.php.net/fr/\\2\" target=\"blank\" title=\"\\2 sur php.net\" class=\"funclink\">\\2</a>\\3", $code);
php ?>


Ca marche bien mais gourmand en ressources.

Voilà, si vous pouviez me donner votre astuce, j'en serait reconnaissant :)
doof
le 23/04/2004 à 16:59
doof
Salut, euhh.. J'ai pas compris ce que tu veux me dire par "utilise la simplement" ?

J'ai mis toutes les fonctions dans un tableau pour pouvoir les rechercher dans le code, sinon je ne vois pas trop comment faire.

Mais bon, c'est surement ca qui ralentit, il y a 1400 fonctions dans le tableau :/... D'un autre coté ca parait plus efficace que celui-ci, je vois que seulement une fonction est liée vers la doc dans le bout de code que j'ai donné alors qu'avec mon code, elles sont toutes liées.

Dois-je en conclure que ca repose sur le meme principe mais avec un tableau beaucoup plus petit ?


PS : mon code a été transformé, dans la fonction to_pres, dans le masque il y avait 2 fois "\& nbsp;" qui on été interpretés.
zebden
le 23/04/2004 à 19:14
zebden
Il faudrait demander a l'interressé c'est à dire globule. Mais je crois qu'il utilise aussi cette methode sauf qu'il ne prends pas en compte toutes les fonctions , si je me souviens bien , a peu pres 400.
Je vois pas comment faire autrement si ce n'est reduire le nombre de fonction pour bouffer le moins de ressources possibles.
zebdinou pour les intimes / Blog : http://www.zebden.fr
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours