Fonctions
La programmation AppleScript en exemples.

Transformer un texte en HTML en utilisation une fonction rechercher/remplacer et une liste.
Imaginons qu'on veuille transformer un texte contenant des caractères spéciaux, c'est-à-dire principalement des accents, en un texte équivalent avec les équivalents HTML. Pour faire cela, rien de plus simple, il suffit d'utiliser un logiciel comme GoLive ou Dreamweaver ou encore la fonction "translate" de BBEdit ou alors d'utiliser ce script.

Fonction 4 : récupérez l'AppleScript ici.

Le Script :


set liste_des_caracteres_speciaux to {"À", "À", "Á", "Á", "Â", "Â", "Ä", "Ä", "Å", "Å", "Ç", "Ç", "È", "È", "É", "É", "Ê", "Ê", "Ë", "Ë", "Ì", "Ì", "Í", "Í", "Î", "Î", "Ï", "Ï", "Ñ", "Ñ", "Ò", "Ò", "Ó", "Ó", "Ô", "Ô", "Ö", "Ö", "Ù", "Ù", "Ú", "Ú", "Û", "Û", "Ü", "Ü", "µ", "µ", "©", "©", "¡", "¡", "£", "£", "€", "€", "®", "®", "à", "à", "á", "á", "â", "â", "ä", "ä", "å", "å", "ç", "ç", "è", "è", "é", "é", "ê", "ê", "ë", "ë", "ì", "ì", "í", "í", "î", "î", "ï", "ï", "ñ", "ñ", "ò", "ò", "ó", "ó", "ô", "ô", "ö", "ö", "ù", "ù", "ú", "ú", "û", "û", "ü", "ü", "ß", "ß", "Œ", "Œ", "œ", "œ", "Ÿ", "Ÿ", "…", "…", "•", "•", "–", "–", "—", "—", "™", "™"} as list


set final_string to text returned of (display dialog "Donnez un texte avec des accents :" default answer "Où ça va ? à l'aéroport?")

considering case
repeat with
m from 1 to (length of liste_des_caracteres_speciaux) by 2
set text item delimiters to (item m of liste_des_caracteres_speciaux)
set list_of_new_words to text items of final_string
if ((length of list_of_new_words) > 1) then
set final_string to 1st item of list_of_new_words
repeat with i from 2 to ((length of list_of_new_words))
set final_string to final_string & (item (m + 1) of liste_des_caracteres_speciaux) & item i of list_of_new_words
end repeat
end if
end repeat
end considering

display dialog
"En version HTML : " & return & final_string


Explications :
On a établi une liste des caractères à rechercher et à remplacer. Chaque caractère à échanger et son équivalent se trouve l'un à coôté de l'autre dans la liste. Il suffit donc de tester un élement sur deux et de le remplacer par le suivant. C'est pourquoi on effectue une boucle de 1 à "length of liste_des_caracteres_speciaux" (la nombre d'élément dans la liste) avec un pas d'écrément de "by 2". Lorqu'on a découvert que l'élément recherché se trouvait dans la liste, on le substitue par "item (m + 1) of liste_des_caracteres_speciaux".



Astuce & application :
• on peut ajouter facilement de nouveaux caractères à remplacer.
• cette fonction n'est aussi rapide que la fonction "translate" de BBEdit mais elle évite de lancer BBEdit ou d'avoir BBEdit ce qui est préféable si on veut faire des scripts utilisables par tous.