$textarea =~ s/([<>])/'&#'.ord($1).';'/eg;
Hui, das da hab ich nicht so ganz verstanden :-)
Simpel:
s/([<>])/'&#'.ord($1).';'/eg;
^^
Um diese Zeichen gehts. Die stehen in eckigen Klammern, also ist es eine Klasse. Drumherum sind runde Klammern, also wird, wenn eines der beiden Zeichen gefunden wird, es später in $1 stehen.
Tja, und da Angaben über Mehrfachvorkommen (sowas wie ?, * oder +) fehlen, wird wohl nur entweder ein < oder ein > gesucht.
Ersetzt wird es durch $#dezimalzahl; - als Dezimalzahl steht da dank Funktion "ord($1)" der ASCII-Code des Zeichens < oder >.
Damit alle Zeichen ersetzt werden, steht als Option hinten das g (global), und damit die Funktion ausgeführt wird, das e (evaluate).
- Sven Rautenberg