2011-01-04 18 views
2

Ist es möglich zu prüfen, ob ein Element mit PHP existiert?Prüfen, ob div ID vorhanden ist (PHP)

Ich kenne die Javascript-Methode bereits, aber ich möchte es nur vermeiden, wenn möglich.

+1

Was sind Ihre Gründe dafür es Server-Seite? –

+1

Ein was für ein Element? Ein HTML-Element in einem HTML-Dokument? – Gumbo

+0

Ja zum Beispiel '

' wenn das nicht existiert 'echo 'Test existiert nicht'' – Daryl

Antwort

6

Wenn Sie den HTML-Server-Seite in einem String haben, können Sie DOMDocument verwenden:

<?php 
$html = '<html><body><div id="first"></div><div id="second"></div></body></html>'; 
$dom = new DOMDocument; 
$dom->loadHTML($html); 

$element = $dom->getElementById('second'); 
// this will be null if it isn't found 
var_dump($element); 
+3

* DOMDocument * Objekte haben eine ['getElementById' Methode] (http://php.net/domdocument.geelementbyid). – Gumbo

+0

Wie nutzt er dies auf der Clientseite? -> Er wird Ajax benutzen müssen! – Thariama

+0

Haha, Prost Gumbo, völlig vergessen. Ich habe in letzter Zeit zu viel Bildschirm scraping gemacht. Werde Dich auf dem Laufenden halten. – Shabbyrobe

0

Nein. PHP kann nur Inhalt liefern, es hat keine Kontrolle oder Sicht auf das DOM außer was Sie es zu erstellen fragen.

+0

Ja PHP dient mehreren Klassen, um ein DOM zu steuern. Nehmen wir zum Beispiel die DomDocument-Klasse. Nicht wirklich perfekt, wenn es zu HTML kommt, das nicht gut formatiert ist, aber es ist dort. – botenvouwer

0

Nicht direkt, weil PHP nur serverseitig ist.

Aber wenn Sie wirklich wollen, können Sie den gesamten Code Ihrer Seite an ein PHP-Skript auf Ihrem Server mit einer AJAX-Anfrage senden, parse es dort, um herauszufinden, ob ein Div mit einer angegebenen ID existiert (siehe Shabbrobes Post, sicher, das wäre sehr ineffektiv und wird nicht empfohlen, wenn Sie es einfach mit Javascript überprüfen können ...) und das Ergebnis in Ihrer Ajax-Antwort zurückgeben.

Verwandte Themen