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

Überprüfung von 2 Urls auf Gleichheit

Avatar user-271
12.12.2007 02:20

Noja...ich bin heute nacht auf ein interressantes Problem gestossen, es ging darum 2 Urls auf gleichheit zu testen -.- das PRoblem ist übrigens im JEx-Board aufgetreten (ich traue es mich kaum auszusprechen) und ich hab mich mal drangesetzt und ne nette funktion geschrieben....guut es ist eine funktion, sieht nicht schön aus und lässt sich sicher besser machen Fettes Grinsen

hier ist sie:
<?php
function checkUrls($url1,$url2) {
$url1 = parse_url(strtolower(!preg_match('/.*?:\/\/.*?/i',$url1) ? 'http://'.$url1 : $url1));
$url2 = parse_url(strtolower(!preg_match('/.*?:\/\/.*?/i',$url2) ? 'http://'.$url2 : $url2));

return array(
'scheme' => ($url1['scheme'] == $url2['scheme']),
'host' => (str_replace('www.','',$url1['host']) == str_replace('www.','',$url2['host'])),
'user' => ($url1['user'] == $url2['user']),
'pass' => ($url1['pass'] == $url2['pass']),
'path' => ($url1['path'] == $url2['path']),
'query' => ($url1['query'] == $url2['query'])
);
}

$url1 = 'http://www.domain.de/site.php?query';
$url2 = 'www.domain.de/site.php';

print_r(checkUrls($url1,$url2));
?>

das ganze ist recht kurz gehalten, die abfragen sind verkürzte wie man sieht (reicht ja eigentlich aus) und er gibt nur true oder false aus...d.h. wenn das scheme übereinstimmt, host, oder was auch immer, dann gibt er true false aus...gross und kleinschreibung wird nicht beachtet...d.h. er schreibt alles ins kleine am anfang Fettes Grinsen

achja...das "www" wird in der domain rausgeschmissen und daher nicht beachtet

noja....so sieht das immo aus....ich kann nicht viel erklären, ist mehr ein Codeschnipsel, und dafür gbsch hier kein forum -.- deshalb hau ich es hier schnell mit rein Fettes Grinsen

#!/bin/bash
traurig){ neutral:& };: