2009-05-25 8 views
1

Ich nehme Daten von einer externen URL mit php und wirf es über AJAX zurück auf meine Seite, um Bilder zu laden. Mein Problem ist, dass die externe URL einige Bilder hat, die relativ sind ("images/example.jpg"), also muss ich ihre Basisdomain vorgeben ("http://www.example.com), damit ich sie in meine Seite laden kann. Problem ist, einige der Bilder beinhalten a base domain url noch einige sind in ihrer relativen form. Im rate vielleicht regex in meinem javascript zu der bestimmt die string wenn es eine basis ("http://example.domain.com") oder nur eine relative ("images /") zu. Wie kann ich erreichen, dass durch regex?Wie kann ich feststellen, dass eine Bild-URL-Zeichenkette ohne Basis-Domain über Javascript ist?

Antwort

0

Wenn Sie es in PHP analysieren können - ich würde tun, was Alanhagai vorgeschlagen: parse_url. Wenn Sie dies in Javascript tun müssen: Überprüfen Sie, ob es ein Protokoll am Anfang gibt (zB: http: // https: // ftp: //). Überprüfen Sie im Wesentlichen für :// in den ersten Dutzend Zeichen der URL.

+0

danke! Das könnte jetzt das Beste für mich sein. – cybervaldez

0

die URL aus dem PHP-Script Parsten parse_url verwenden. Wenn das assoziative Array host oder scheme die Schlüssel nicht enthalten, können Sie die URL neu schreiben können, sie zu schließen.

+0

Ich habe meine Beschreibung zu einem klareren bearbeitet. Ich kann das Parsing einer URL nicht über PHP machen, weil ich viele HTML-Tags erhalte und sie über jquery zurück an meine Seite übergebe und dann von dort lade. – cybervaldez

0

Sie werden nicht in der Lage sein, zwischen einem Re zu unterscheiden URL wie "images/blank.gif" und eine relative URL mit "www.theirdomain.com/images/blank.gif". Wer soll sagen, dass "www.theirdomain.com" kein Verzeichnis ist?

Wenn die URL nicht mit http: //, https: // oder // beginnt, ist sie relativ zur URL der Seite, von der Sie sie abgeschabt haben.

+0

Wenn ein Bild src = "www.theirdomain.com/images/blank.gif" hat, dann ist es ein Verzeichnis. – nickf

Verwandte Themen