pour ceux que ça intéresserai voila la proc stripcodes de tcldrop (que j'ai corrigé) qui fonctionne parfaitement
Code :
# tcldrop stripcodes procedure
proc ::stripcodes {strip-flags string} {
foreach o [split ${strip-flags} {}] {
switch -- $o {
A { return [regsub -all -- {\003[0-9]{0,2}(,[0-9]{0,2})?|\017|\015|\037|\002|\026|\007|\033\[.*m} $string {}] }
b { lappend strip "\002" }
r { lappend strip "\026" }
u { lappend strip "\037" }
g { lappend strip "\007" }
p { lappend strip "\017|\015" }
c { lappend strip "\003\[0-9\]{0,2}(,\[0-9\]{0,2})?" }
a { lappend strip "\033\\\[.*m" }
{-} - {+} - { } - { } {}
default { return -code error "Unknown strip option: $o" }
}
}
if {[info exists strip]} {
regsub -all -- [join $strip {|}] $string {}
} elseif {![info exists o]} {
regsub -all -- {\003[0-9]{0,2}(,[0-9]{0,2})?|\017|\015|\037|\002|\026|\007|\033\[.*m} $string {}
} else {
set string
}
}