[spip-dev] [Patch] Correction de bug d'indexation

Salut

Jérôme Fenal a écrit :

> From: Fil [mailto:fil@rezo.net]
> Sent: Friday, January 10, 2003 10:36 AM
> To: spip-dev@rezo.net
> Subject: Re: [spip-dev] [Patch] Correction de bug d'indexation
>
>
> > Faut aussi que je trouve le moyen de remplacer les eregi()
> pour les tags code et cadre qui partent rapidement en vrille
> à l'affichage de l'article.
>
> Rien n'interdit de reprogrammer une ereg_replace2(), etc, qui
> appellent
> preg_replace() s'il existe ! Tant que le code reste lisible,
> c'est bon.
>

Brut de fonderie (à tester dans les cas un peu bizarre), ça donne :

        #$regexp_echap_html = "<html>(([^<]|<[^/]|</[^h]|</h[^t]|</ht[^m]|</htm[^l]|<\/html[^>])*)<\/html>";
        $regexp_echap_html = "<html>((.*?))<\/html>";
        #$regexp_echap_code = "<code>(([^<]|<[^/]|</[^c]|</c[^o]|</co[^d]|</cod[^e]|<\/code[^>])*)<\/code>";
        $regexp_echap_code = "<code>((.*?))<\/code>";
        #$regexp_echap_cadre = "<cadre>(([^<]|<[^/]|</[^c]|</c[^a]|</ca[^d]|</cad[^r]|</cadr[^e]|<\/cadre[^>])*)<\/cadre>";
        $regexp_echap_cadre = "<cadre>((.*?))<\/cadre>";

        #$regexp_echap = "($regexp_echap_html)|($regexp_echap_code)|($regexp_echap_cadre)";
        $regexp_echap = "/($regexp_echap_html)|($regexp_echap_code)|($regexp_echap_cadre)/si";

        #while (eregi($regexp_echap, $letexte, $regs)) {
        while (preg_match($regexp_echap, $letexte, $regs)) {

dans inc_texte.php3, ligne ~ 138

L'avantage, c'est que les expressions régulières sont amplement simplifiées.
Il faudrait voir si on peut modifier le 'greedyness' des motifs des E.R. de PHP pour simplifier le cas PHP (eregi au lieu de preg_match).

Cdt,

Jérôme

Le pb est que :
- la très grande majorité des hébergeurs font au "plus petit
dénominateur commun" au niveau des ressources allouées à un site Web,
- ils calquent, vraisemblablement, de plus en plus leur attitude sur le
fait que si vous faîtes du Php/Mysql => Vous êtes un "pro". Si vous
n'êtes capable que de faire du html "statique", vous êtes le bon client
pour eux => vous allez pas leur bouffer de la ressource serveur.
Je viens de lire queque chose "d'édifiant" à ce sujet sur
http://www.hebergement-discount.com/secret.html

Je me demande dans quelle mesure, si on commence à vouloir se baser sur
la version Php de l'hébergeur, on ne va au devant d'énormes pbs. Les
limitations au niveau de php sont tellement variées d'un hébergeur à
l'autre que l'on risque de se retrouver dans la situation où Spip va
passer plus de temps à essayer ce que l'hébergeur accepte plutôt qu'à
afficher une page Spip !! Quand on sait que de plus en plus d'hébergeurs
limitent le time_out sur les scripts en php, au bout d'un moment,
comment on va faire ?? Le "time_out" sera "bouffé" en vérifications
avant que Spip ai pu, ne serait-ce que commencer à calculer la page ??

Le truc ci-dessus est très, très bien mais il ne pourra que fonctionner
sur un hébergeur pro, ce qui est très loin de la majorité des
utilisateurs de Spip (C.F. la liste) ??

A+ Yann