Webstatt.org - Community seit 2006 - 2012 (2024?)

bbcodes

Avatar user-180
02.09.2006 15:13

hallo liebe phpfreunde.

ich bin gerade dabei die antispam - funktion in die php4u.net bbcodesfunktion einzubauen

geht aber nicht so wie ich das will.. hier scheitere ich..


$text = preg_replace_callback("/\[email=(.*?)\](.*?)\[\/email\]/si", "<a href=\"mailto:\\1\">\\2</a>", 'no_spam', $text);

fehler:
Warning: preg_replace_callback(): requires argument 2, '\2', to be a valid callback in BBcodes\php4u\index.php on line 167 no_spam

may the force be with you. but mostly with me.
Avatar user-255
02.09.2006 15:23

Du meinst wohl preg_replace zwinkern

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-180
02.09.2006 15:29

nö glaibe nicht. der text der emailadresse soll ja umgewandelt werden.
so wie ich es hier gemacht habe

$text = preg_replace_callback('"([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})"i', 'no_spam', $text);

may the force be with you. but mostly with me.
user-135
02.09.2006 15:57

Original von user-180
nö glaibe nicht. der text der emailadresse soll ja umgewandelt werden.
so wie ich es hier gemacht habe

$text = preg_replace_callback('"([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})"i', 'no_spam', $text);

Dann poste mal die no_spam() function.

Avatar user-162
02.09.2006 16:01

Original von user-135
Dann poste mal die no_spam() function.

antispamzwinkern

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
Avatar user-255
02.09.2006 16:02

Ah.. *bongo*

Den zweiten Parameter musst rausnehmen, die Ersetzung wird ja dann vom Callback übernommen.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-180
02.09.2006 16:11

& wie? so gehts nicht...

$text = preg_replace_callback("/\[email=(.*?)\](.*?)\[\/email\]/si",
"<a href=\"mailto:\\1\"></a>", 'no_spam', $text);

may the force be with you. but mostly with me.
Avatar user-255
02.09.2006 17:07

Is doch genau dasselbe.. den zweiten Parameter / das zweite Argument sollst rausnehmen.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-180
02.09.2006 17:15

poste doch bitte mal den code ichverstehe jetztnicht genau wie du das meinst.

may the force be with you. but mostly with me.
user-135
02.09.2006 17:22

Original von user-180
poste doch bitte mal den code ichverstehe jetztnicht genau wie du das meinst.

$text = preg_replace_callback("/\[email=(.*?)\](.*?)\[\/email\]/si",'no_spam', $text);

Avatar user-180
02.09.2006 17:24

das ergibt eine falsche ausgabe...:
[email=email[ät] email[punkt] org]fish[/email]]  <-- = dieHTML ausgabe


ich will ja dass die emailadresse anders dargestellt wird und ein anderer linkname angezeigt wird.

may the force be with you. but mostly with me.
Avatar user-255
02.09.2006 17:47

RTFM... http://de3.php.net/preg_replace_callback

Aber wär's ohne callback nicht einfacher..?

$text = preg_replace(
"/\[email=(\w+?)@(\w+?)\.(\w+?)\](.*?)\[\/email\]/si",
'$4 &lt;$1 bei $2 punkt $3&gt;',
$text
);

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-180
02.09.2006 18:19

jo das funktioniert zwar aber eigentlich was anderes.. und zwar: sowas [EMAIL=hallu@tschuess.de]EMAIL[/EMAIL] nur eben "verschlüsselt"

may the force be with you. but mostly with me.
Avatar user-255
02.09.2006 21:10

Wenn du die Adresse im Klartext rausgibst, bringt doch das "Verschlüsseln" nix.. :-\

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-180
03.09.2006 00:02

wenn ich no spam verwende zeigt der link für den browser: mailto:franz%40ferdinand.de und nicht mailto: [EMAIL]franz@ferdinand.de[/EMAIL]

(drücke ich mich soo schlecht aus?)

may the force be with you. but mostly with me.