Ich schreibe einen HTML-Obfuscator, und ich habe einen Hash korrelierenden benutzerfreundlichen Namen (von IDs und Klassen) zu verschleierten Namen (wie a, b, c, etc). Ich habe Probleme mit einem regulären Ausdruck kommen zum Erreichen ersetzen etwas wieWie ersetze ich mehrere Wörter, die jeweils auf ein alternatives Wort gehackt wurden, in einem HTML-Attribut mit Perl regex?
<div class="left tall">
mit
<div class="a b">
Wenn Etiketten mit nur einer Klasse annehmen könnte, würde die regexp einfach so etwas wie
s/(class|id)="(.*?)"/$1="$hash{$2}"/
sein
Wie soll ich das korrigieren, um mehrere Klassennamen in Anführungszeichen zu berücksichtigen? Vorzugsweise sollte die Lösung Perl-kompatibel sein.
Einige könnten sagen, 'links' und' groß' sind genauso verschleiert wie 'a' und' b'. –