Hallo zusammen
Folgendes Problem: Ich verwende eine PHP-Klasse, um Mails als Javascript verschlüsselt im Quelltext darzustellen. Der Outpout ist dann wie folgt:
Diese Klasse rufe ich mit einer PHP-Funktion "getEncodedMail" auf:
Gebe ich den Return mit echo aus, funktioniert das einwandfrei und der Output im Quelltext ist wie oben gepostet. Nun möchte ich den Return aber in einer weiteren PHP-Funktion ("bbcode2html") nutzen, die allerlei Tags und Zeichen durch bestimmte andere ersetzt.
Ich suche in dieser Funktion nach "/\[mail=([.-_a-z0-9@]*)\]([.-_a-z0-9@]*)\[\/mail\]/" und ersetze mit str_replace den Treffer durch den Return aus der Mail-Funktion. Das Resultat gebe ich in der bbcode2html-Funktion ebenfalls als Return aus - das Resultat im Quelltext ist dann wie folgt:
Soll heissen: Alle "\n" aus der Mail-Klasse werden nun im Quelltext zwar als Zeilenumbrüche dargestellt, aber zusätzlich auch noch als "<br />" ausgegeben. Dadurch funktioniert das Script zur Mailadressen-Verschlüsselung nicht mehr.
Wie bringe ich die "<br />"-Tags aus dem doppelten Return im Quelltext wieder weg? Soviel vorneweg: Mit str_replace klappt es leider nicht.
Danke schon im Voraus für eure Hilfe!
Folgendes Problem: Ich verwende eine PHP-Klasse, um Mails als Javascript verschlüsselt im Quelltext darzustellen. Der Outpout ist dann wie folgt:
Code:
<script type="text/javascript"> //<![CDATA[ var x6="";for(var r7=0;r7<396;r7++)x6+=String.fromCharCode((")s%2%BO44Mx\"%:)s%2#GOBM#GNDIBM#G==;%B=Oe\'%{!y@x%\" Uzs%U\"vw::4Nc)G0:-w.dIIG7657=;-7>-:dI<01;U0:-.dw$N5)1n4<7aNU:-8n4)+-OVwV/SInnIU;=*;<:OXPPRN;=8jj87:j<jNU:-8n4)+-OVjV/SIoIU;=*;<:OXPPRIgIU+0):h<OWPRN/.-n4n41$@Y-+\'\'0NU:-8n4)+-OV\'V/SIIPRN$NIG7657=;-]7=<dI<01;U0:-.d$N$NIe;=887:<MJ@WW[Wb/.-]n4n41]MJ@]WWWWY-b+0cV])eNU:-8n4)+-OV]V/SIwIU;=*;<:OXPP4@uzs%U\"vwS\':#G;?:B+CG;=B+Ex;7:CGB?GG;=B<G=ED;Mw)s~:%B;".charCodeAt(r7)-(-40+58)+-3+66)%(120-25)+0x20);document.write(eval(x6)) //]]> </script>
Code:
require_once('./includes/emailcode.class.php'); $emailcode = new ClassEmailcode(); return $emailcode->emailgetencode($mail, $text);
Ich suche in dieser Funktion nach "/\[mail=([.-_a-z0-9@]*)\]([.-_a-z0-9@]*)\[\/mail\]/" und ersetze mit str_replace den Treffer durch den Return aus der Mail-Funktion. Das Resultat gebe ich in der bbcode2html-Funktion ebenfalls als Return aus - das Resultat im Quelltext ist dann wie folgt:
Code:
<script type="text/javascript"><br /> //<![CDATA[<br /> var qO="";for(var kl=0;kl<630;kl++)qO+=String.fromCharCode(("~iz({;E*pb;?lSu29YZ}Lsan^>M_Q@zX\\8mTiwWPyVJK=`{q">ok|5rRt~jIx\":A[O!<v NU#*4j@E**4z?4y=E*YxjV9uVI8z\\N9J9yTA!rT[@x8zNAXA@InMY\"mu`x}{VI8z\\NX;wr\\@NoT2>ta` q}qY`iujV\\AQ">}: t8I~J9J=|Y[s}wXb~T\"rIwl5q}qY`iujV\\AQ">}\"5t8I~JzM9Ri[@Ji[>IZ?loZM5J^;9R\\AVVi=S\"Z?poZIwq8`>`TujoX2Q~L?Y`@us">YI!I8Xb5\\zs`Z;NQ}Ai5zI9JX@5~XM=|Y:~q9Jb~TA!rT[b:i2s`T[@\"nMY\"mu`x}{VI8z\\NX;w~X;iJn`>`i[b\"n;NVnJiRi{@~TuSK8Myti;Nq}S5J9`:TLS\"o*Cnwz0~iz(ngE8CngD;8@Cng3E<1$z?E0{;6qvlm!Wn0y=6kpizI|0ng11DD9@1%0{;6qvlm!Wn0y=6kpizI|0ng3911DD9:1%0{;6qvlm!Wn0y=6kpizI|0ng3:11DD>1%{;6qvlm!Wn0y=6kpizI|0ng3;11Cj@3E[|zqvo6nzwuKpizKwlm0z?FFF9>40z?FFF@1.:==4z?.:==1&Cm~it0j@6{}j{|z084:;911".charCodeAt(kl)-(8*1+0)+79-16)%(2*9+77)+98-66);document.write(eval(qO))<br /> //]]><br /> </script>
Wie bringe ich die "<br />"-Tags aus dem doppelten Return im Quelltext wieder weg? Soviel vorneweg: Mit str_replace klappt es leider nicht.
Danke schon im Voraus für eure Hilfe!
Kommentar