Js : remplacer du texte au sein de la page

Js : remplacer du texte au sein de la page - HTML/CSS - Programmation

Marsh Posté le 26-11-2010 à 10:42:44    

Bonjour je cherche à utiliser javascript et les regex afin de remplacer ce type de chaine dans un bloc de logs :
]f/url.html ( ou f/ est une forme diminué du nom du site
je souhaiterais en faire => ]<a target=1 href='http://site/url.html'>f/url.html</a>
 
avez-vous des idées ? merci  :jap:


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 26-11-2010 à 10:42:44   

Reply

Marsh Posté le 26-11-2010 à 11:44:58    

Pour les regex, voir les explications facilement trouvables sur internet.
 
Pour le remplacement de quelque chose en javascript, il y a la solution de modifier, ou de supprimer et de recréer les éléments du DOM avec des createElement et appendChild, etc, mais ça ne marche pas avec tous les navigateurs. Une autre solution est le innerHTML :

<span id="le_span1"><a target=1 href='http://site/url.html'>f/url.html</a></span>
...
nouvel_url=...
document.getElementById("le_span1" ).innerHTML="<a target=1 href='"+nouveal_url+"'>"+nouvel_url+"</a>";

Reply

Marsh Posté le 26-11-2010 à 13:23:18    

il s'agit d'un bloc de logs de plusieurs Mo, pas de formatage dans ce fichier ..


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 27-11-2010 à 22:18:32    

Reply

Marsh Posté le 28-11-2010 à 09:50:09    

Le innerHTML marche sur les fichiers de n'importe quelle taille.
Pourquoi cela ne vous plait pas ?
 
Pourquoi choisir du Javascript pour modifier un fichier de plusieurs Mo ?
Ce serait plus simple avec d'autres langages.
 
Pour quel environnement ? Unix ? Windows ? Quelle version ?

Reply

Marsh Posté le 28-11-2010 à 10:13:17    

php, en web, le but étant de pas perdre 30sec à remplacer en ereg sur un gros bloc de texte et de tester ça avec JS en reprennant //

Code :
  1. de "]f/url.html "       ( ou f/ est une forme diminué du nom du site
  2. faire =>" ]<a target=1 href='http://site/url.html'>f/url.html</a>"


Rendre cliquable l'url


Message édité par grosbin le 28-11-2010 à 10:13:36

---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 29-11-2010 à 12:08:49    

Le remplacement prendra le même temps ou encore plus de temps en javascript qu'en d'autres langages.
Javascript ne marche pas sur un flux de données, mais sur l'intégralité du fichier. En l’occurrence, il y aura un scan de plusieurs Mo et cela prendra forcément du temps. Peut-être que le fichier est déjà chargé en mémoire, mais je ne sais pas si c'est le cas, ce n'est pas dit.
 
De toutes façons, Javascript n'est pas pratique pour parser du texte qui ne se trouve pas dans des éléments ayant des ID. En l'occurrence, je crois avoir compris que la chaîne à remplacer ne se trouve pas incluse dans des div ou des span particuliers, donc ce n'est pas facile pour javascript de la retrouver.
 
Désolé, mais il vaut mieux utiliser SED ou PERL ou AWK, ou PHP, ou d'autres outils faisant des IO sur les fichiers.

Reply

Marsh Posté le 29-11-2010 à 19:00:09    

Bah pour le JS tu y vas à la bite et au couteau et tu parses à la main :D


---------------
Blablaté par Harko
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed