PHP per Link - Header Vorschau externer Seite?

Gamer20

Lt. Junior Grade
Registriert
Dez. 2005
Beiträge
489
Hi,

ich würde gerne wissen, wie man diese Art von Vorschau nennt, die man von Twitter und Co. kennt, wenn man einen Link in ein Feld kopiert, das dort ein par Sek. später eine Vorschau angezeigt wird?! Das ist doch kein einfaches iFrame oder? Da würde es mir ja die ganze Seite anzeigen (meist wird ja nur die Headergrafik der Seite angezeigt).

Ich würde gerne so etwas per php bzw. html oder jquery (Notfall per Canvas JS) umsetzen wollen.

Oder werden da einfach nur die meta Daten per "get_meta_tags" ausgelesen? wie komme ich aber an die Grafik ran, die bei FB und twitter (etc.) mit angezeigt wird?
 
Zuletzt bearbeitet:
Hi,

bei Twitter läuft das über AJAX, hier wird einfach ein Code-Schnipsel embedded, siehe Twitter Publish

Die meisten Seiten handhaben es vermutlich ebenfalls mit AJAX

VG,
Mad
 
ja oder per ajax, wenn man es im nachhinein laden will. ich habe jetzt gelesen, das ich das image tag wohl nur bekomme, wenn ich eine möglichkeit finde, die "Open Graph tags" zu lesen. dies geht wohl nicht per get_meta_tags.

eine Idee wie ich das in php umsetze, um mir die grafik von einer beliebigen webseite ziehen kann?

den titel und die beschreibung bekomme ich ja per "get_meta_tags" raus, mir fehlt nur noch das bild (das Logo oder etwas in der Art von der Seite).
 
Hi,

eine Idee wie ich das in php umsetze, um mir die grafik von einer beliebigen webseite ziehen kann?

verstehe ich das Problem nicht oder verstehe ich es falsch? Du kannst doch jede beliebige Grafik als image ausgeben - oder was genau ist deine Frage?

Wenn du wissen willst, woher du z.B. eine zu einem Tweet gehörende Grafik bekommst: Stichwort "API"

VG,
Mad
 
nein es geht nicht um twitter, es geht um diese art der programmierung, wie man es kennt von sozialen netzwerken oder auch telegram.

ich will eine webseite schreiben, bei der man eine kurzinfo der webseite sieht (wie bei FB und co.), wenn man einen link in ein textfeld kopiert.
 
Hi,

kannst du pauschal nicht, das muss konkret für den Einzelfall angepasst werden.

VG,
Mad
 
so ich habe eine andere Lösung gefunden, ohne externes Script, welches am Ende eh nicht funktioniert und nur ein Haufen Pakete herunter lädt (per Composer).

PHP:
$url = "https://computerbase.de";
$html = file_get_contents($url);

$ERG = getOgTags($html);
print_r($ERG);

function file_get_contents_curl($url)
{
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_URL, $url);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}

function getOgTags($html)
{
    $pattern='/<\s*meta\s+property="og:([^"]+)"\s+content="([^"]*)/i';
    if(preg_match_all($pattern, $html, $out))
        return array_combine($out[1], $out[2]);

    return array();
}
 
Zuletzt bearbeitet:
Zurück
Oben