phpbar.de logo

Mailinglisten-Archive

[php] Problem mit einem preg_replace..

[php] Problem mit einem preg_replace..

Andre Gemünd listen at scroogie.de
Die Jan 13 19:00:14 CET 2004


Michael Schoenboeck wrote:

> Hallo,

Hallo Michael,

> Funzt auch so weit recht nett, nur will ich hier ...?url\=\\2\\3\... Das
> \\2\\3 base64_decodet() werden.
> aber alle versuche das einfach rein zu schreiben führten nicht zum
> ergebniss.
> Hat jemand eine idee wie ich also die URL base64_decoden kann

ich schätze das Zauberwort heisst preg_replace_callback. Der Code dürfte 
sich von selbst erläutern, ich hoffe ich habe Dich richtig verstanden.

<snip>
<?php
function callbackEnc($matches) {
     $code = $matches[1]."<a target=\"_blank\" href=\"/_rd/goto.html?url=";
     $param = base64_encode($matches[2].$matches[3]);
     $result = 
$code.$param."\">".$matches[2].$matches[3]."</a>".$matches[4];
     return $result;
}

$subject = "http://scroogie.de/";
$pattern = 
'#(^|[^\"=]{1})(http://|https://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
$msg = preg_replace_callback($pattern, 'callbackEnc', $subject);
echo $msg;
?>
</snip>

> Lg
> michael 

Schönen Gruß
André


php::bar PHP Wiki   -   Listenarchive