tach auch,
hab am montag projektabgabe und noch ne latte dafür zu erledigen.
ein problem krieg ich nicht so schnell gelöst da ich mich mit regex kram nicht so gut auskenne. also wer mir als erstes ne lösung serviert der kriegt direkt 40 Euronen serviert ->
also ich hab eine variable siehe anhang
die folgende funktion, die ich mit hilfe dieses und andere foren unter streßigsten missverständnisse meinerseits zusammen gebaut haben, überprüft alle links in der var und bereitet diese für eine https dereferer auf. Zweck der ganzen sache -> externe verlinkung von https zu http seiten. dabei überprüft die funktion auch ob intern verlinkt wurde und läßt so interne links unberüht das gleiche gilt für mailto links. mein problem ist das ich die externen links nun auch noch in das rawurl format codieren muß (das hab ich eben erst geschnallt). als beispiel:
<A HREF="http://www.test.de?id=1&lg=de" target="_self">rechtlich</A>
(der link befindet sich in der var)
als ausgabe bekomme ich:
<A target="_blank" href="https://inside-past.com/dereferer.php?url=www.test.de?id=1&lg=de">rechtlich</A>
was im prinzip auch korrekt ist! nun muß ich aber eben alles was an url= angehängt wird noch rawurl encodieren und hier liegt das problem meine versuche sind bis jetzt missglückt und mir rennt die zeit weg. dabei ist mir aufgefallen das ich mir auch nicht so sicher bin ob diese funktion die sauberste lösung ist.
also dann mal ran jungs. unten steht die original funktion, im anhang die var. wenn ihr die mal durchlaufen lasst seht ihr wo ich hinwill.
der, derwelcher eine saubere lösung abliefert - dem seien die euronen gewiss
by the way -> bitte nur auf rechnung!
hab am montag projektabgabe und noch ne latte dafür zu erledigen.
ein problem krieg ich nicht so schnell gelöst da ich mich mit regex kram nicht so gut auskenne. also wer mir als erstes ne lösung serviert der kriegt direkt 40 Euronen serviert ->
also ich hab eine variable siehe anhang
die folgende funktion, die ich mit hilfe dieses und andere foren unter streßigsten missverständnisse meinerseits zusammen gebaut haben, überprüft alle links in der var und bereitet diese für eine https dereferer auf. Zweck der ganzen sache -> externe verlinkung von https zu http seiten. dabei überprüft die funktion auch ob intern verlinkt wurde und läßt so interne links unberüht das gleiche gilt für mailto links. mein problem ist das ich die externen links nun auch noch in das rawurl format codieren muß (das hab ich eben erst geschnallt). als beispiel:
<A HREF="http://www.test.de?id=1&lg=de" target="_self">rechtlich</A>
(der link befindet sich in der var)
als ausgabe bekomme ich:
<A target="_blank" href="https://inside-past.com/dereferer.php?url=www.test.de?id=1&lg=de">rechtlich</A>
was im prinzip auch korrekt ist! nun muß ich aber eben alles was an url= angehängt wird noch rawurl encodieren und hier liegt das problem meine versuche sind bis jetzt missglückt und mir rennt die zeit weg. dabei ist mir aufgefallen das ich mir auch nicht so sicher bin ob diese funktion die sauberste lösung ist.
also dann mal ran jungs. unten steht die original funktion, im anhang die var. wenn ihr die mal durchlaufen lasst seht ihr wo ich hinwill.
der, derwelcher eine saubere lösung abliefert - dem seien die euronen gewiss
by the way -> bitte nur auf rechnung!
PHP-Code:
function replace_uri($var){
$regex2 = "!target=\"_(self|parent|top|blank)\"!i";
$var = preg_replace($regex2,"",$var);
$rest = $var;
$ergebnis = "";
$insert = "<a target=\"_blank\" href=\"https://inside-past.com/dereferer.php?url=";
$regex1 = "!^(.*?)<a href=\"(https?|ftp|file|news)://(.{19})(.*?)$!si";
while(preg_match($regex1,$rest,$matches)):
$ergebnis.=$matches[1];
if(preg_match("!(www\.)?inside-past\.com!i",$matches[3])):
$ergebnis.='<a href="'.$matches[2].'://'.$matches[3];
else:
$ergebnis.=$insert.$matches[3];
endif;
// der noch zu überprüfende Rest wird in $rest gespeichert, worin dann in der nächsten Runde gesucht wird
$rest=$matches[4];
endwhile;
return $ergebnis.$rest;}
Kommentar