Ca ne change rien : il ne s'agit pas d'une balise qui doit être équilibrée mais d'une expression régulière. Le résultat sera le même, sauf dans le cas peu probable où il existerait une autre balise dont le nom commencerait aussi par </radioname.
En HTML (la on est en dehors du TCL), une balise doit être toujours fermée. Exemple : <head></head>.
Donc en TCL, on doit avoir la même chose, une balise ouvrante, ici c'est <radioname> et une balise fermante, ici c'est </radioname>.
En version HTML, si on oublie de refermer une balise, on a pas le résultat attendu. Et une balise non fermée est considérée comme une faute sur le W3C.
Certaines balises HTML sont orphelines, c'est à dire qu'ils n'ont pas de balise fermante. Exemple : <br />.
Je ne dis pas ça par méchanceté (au contraire je suis calme) ni pour autre raison, mais quand je vois une balise mal fermé, je corrige aussitôt.
Cordialement.
-----
EDIT : Pour revenir au sujet, ça doit être nouveau chez radionomy les é sont remplacés par ce caractère é
(22/07/2014, 16:15)FleuryK a écrit : [ -> ]Donc en TCL, on doit avoir la même chose, une balise ouvrante, ici c'est <radioname> et une balise fermante, ici c'est </radioname>.
Sauf que là ce n'est pas du TCL mais une expression régulière.
Elle marcherait tout aussi bien avec:
Il faudra évidemment remplacer TAVARIABLE par le nom de la variable qui contient le texte à convertir (et n'ajoute pas un $ devant le dernier TAVARIABLE, il n'en comporte pas volontairement).
J'ai le Tcl que CrazyCat à publié mais j'ai un erreur.
La diffusion des messages s'arrête et je suis obligé de faire !titre off et !titre on pour relancer.
voici le retour d'erreur que j'ai :
Code :
-----> can not find channel named "sock10"
-----> while executing
-----> "eof $sock"
Tcl error in script for 'timer2548':
can't read "title": no such variable
-----> can't read "title": no such variable
-----> while executing
-----> "if { $title != $::memo } {
-----> set ::memo $title
-----> putserv "PRIVMSG $::rchan :En cours sur \002 .::. Etoile-Fm .::. \002: \002[htmlentities_decode $title]\0..."
-----> (procedure "radio:titre" line 9)
-----> invoked from within
-----> "radio:titre"
C'est que la balise title n'est pas dans le XML ou bien pas là où le script l'attend.
Peut-être que le flux est changé. Il faudrait que tu ouvres l'URL appelée dans un navigateur pour vérifier la structure
<tracks>
<radioname>nom de la radio</radioname>
<rank>0</rank>
<isradionomy>1</isradionomy>
<radurl>URL</radurl>
<track>
<uniqueid>Chiffre</uniqueid>
<title>Strike It Up (1990)</title>
<artists>Black Box</artists>
<starttime>2016-03-24 14:09:56.763</starttime>
<playduration>311492</playduration>
<current>1</current>
</track>
Tcl error in script for 'timer4509':
can't read "title": no such variable
-----> can't read "title": no such variable
-----> while executing
-----> "if { $title != $::memo } {
-----> set ::memo $title
-----> putserv "PRIVMSG $::rchan :En cours sur \002 .::. Etoile-Fm .::. \002: \002[htmlentities_decode $title]\0..."
-----> (procedure "radio:titre" line 10)
-----> invoked from within
-----> "radio:titre"