Oud 15-11-2004, 10:32
dafelix
Avatar van dafelix
dafelix is offline
Oi vriendjes


ik zit op het moment nog steeds te klooien met PHP, en begin ook dingen als regular expressions onder de knie te krijgen, maar er is iets wat me bugt

Code:
preg_replace("#ed2k://\|file\|(.*)\|\d+\|\w+\|/?#",
"eD2k: <a href=\"\\0\">" .
str_replace("%20", " ", "\\1") . "</a><br/>", $body);
Deze expressie zet een eD2k-link om naar een A-href. Een eD2k link ziet er zo uit:

Code:
ed2k://|file|Bestandsnaam%20plus.ext|112|fcd4d8007f5a1163130580e5bed242cd|/
Nu zet de expressie hem goed om, maar ik wil dat de '%20' wordt vervangen door een spatie, maar de replace functie voert het uit over het woord '\\1', in plaats van de gevonden expressie.
Hoe kan ik ervoor zorgen dat hij hem wel goed omzet? Ik kan later wel de replace functie uitvoeren, maar dan wordt in de link zelf de '%20' ook vervangen, dat wil ik dus weer niet


Alle hulp is welkom
__________________
$karma++;
Met citaat reageren
Advertentie
Oud 15-11-2004, 10:51
dafelix
Avatar van dafelix
dafelix is offline
Hm, een oplossing die niet voor de hand lag, maar wel werkt:

Code:
function ad ($body) {
  $body = preg_replace_callback(
  "#ed2k://\|file\|(.*)\|\d+\|\w+\|/?#",
  "gad",
  $body);
  return $body;
}

function gad ($match) {
  $return = "eD2k: <a href=\"" . $match[0] . "\">" .
  str_replace("%20", " ", $match[1]) . "</a><br/>";
  return $return;
}

ik hou me open voor ander suggesties natuurlijk, maar in eerste instantie is het 'probleem' opgelost
__________________
$karma++;
Met citaat reageren
Oud 15-11-2004, 19:58
JelmerBarhorst
Avatar van JelmerBarhorst
JelmerBarhorst is offline
urldecode($match[1])

Dit zorgt er voor dat dingen als %20 als normale tekens worden omgzet.
Met citaat reageren
Advertentie
Reageren

Topictools Zoek in deze topic
Zoek in deze topic:

Geavanceerd zoeken

Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Software & Hardware [php] regular expressions
Engadin
15 14-02-2004 17:48


Alle tijden zijn GMT +1. Het is nu 06:04.