script Unix de formatage de fichier HTML

script Unix de formatage de fichier HTML - Shell/Batch - Programmation

Marsh Posté le 05-05-2009 à 14:07:08    

Bonjour tout le monde !
 
Alors voila je suis en train de pencher sur un petit script shell pour automatiser le formatage de mes fichiers...
En gros je reçois régulièrement beaucoup de fichier que je dois traiter.
 
Après réception je change le format des Line Breaks (passage au format unix) et j'ajoute "<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">" au début de mes fichiers pour qu'il soit correctement traiter dans mon logiciel (je fait de la traduction !) :
 
Voila donc le script :
 
# find relevant files
find . \( \
-iname "*.html" -o \
-iname "*.htm" -o \
-iname "*.inc" -o \
-iname "*.xml" -o \
-iname "*.js" -o \
-iname "*.css" -o \
-iname "*.txt" -o \
-iname "*.php" -o \
-iname "*.plist" -o \
! -name "*.*" \) -type f -print0 | while read -d $'\0' file; do
 
 echo "$file"
 
 # convert to unix line breaks
 perl -pe 's/\r\n|\n|\r/\n/g' "$file" > "$file"_temp
 mv -f "$file"_temp "$file"
 
 # add encoding tag if not present
 if ! head -n 1 "$file" | grep -qi "UTF-8"; then
  echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- Inserted by toto -->' > "$file"_temp
  cat "$file" >> "$file"_temp
  mv -f "$file"_temp "$file"
 fi
 
Aujourd'hui je cherche une solution pour convertir les caractères spéciaux en HTML entities (uniquement dans les partie textes de mes pages).
Ensuite il me faudra faire l'inverse et supprimer ces HTML entities...
 
Franchement je ne sais pas comment faire, quelqu'un aurait une idée ?  :heink:  
Merci d'avance, Grego


Message édité par nipoutch le 05-05-2009 à 14:15:26
Reply

Marsh Posté le 05-05-2009 à 14:07:08   

Reply

Marsh Posté le 05-05-2009 à 14:09:29    

iconv ?


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 05-05-2009 à 14:18:37    

petite remarque au passage : utiliser perl pour convertir des fins de lignes, c'est un peu sortir l'artillerie lourde pour tuer une mouche. Jette éventuellement un coup d'oeil à d2u.


---------------
last.fm
Reply

Sujets relatifs:

Leave a Replay

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