Pour le coup de "la recherche débute", je comprends pas. Ton code ne fait qu'une seule passe sur la chaine, non ? (je ne vois qu'une seule boucle for). Du coup c'est exactement ce que ferait preg_replace, sauf que sa boucle for à lui tourne 20 fois plus vite que la tienne puisqu'elle est en C ^^
non car ce que ca va remplacer peu aussi contenir des morceaux a remplacer avec les §truc§, donc a chaque fois que j'en trouve un et que je le remplace je relance la recherche à l'endroit même ou j'avais trouvé et remplacé le dernier segment, le callback marchais très bien mais recommençais du début, après je peu aussi tester de faire du match_all remplacer tout et relancer tant qu'il n'y à aucun retour, mais vu que le preg_replace_callback étais bien plus lent et faisais exactement la même chose je suis septique, fait en C ou pas il ramais le cul
iwannabeamaki (./17) :
En gros si ton code source est en UTF-8 (
)
spa bien l'utf8 ?

Le souci, c'est que potentiellement tu peux avoir un caractère codé sur 3 octets dont les deux derniers sont les mêmes que les 2 octets qui servent à coder un '§', d'où un faux positif : tu vas couper un caractère UTF-8 en deux, et produire un résultat totalement invalide. C'est peu probable, mais ça peut arriver.
ca c'est pas con, je n'y avais pas du tout pensé :/ il me reste à changer mon marqueur pour un à 4 octets alors ? quel bordel il faut un truc simple sur le clavier d'origine ^^
sinon je peu le doubler mais c'est con