2013-02-28 4 views
0

Возможно, я неправильно понял цель PHP. Но я хочу сделать следующее:Получить текущий HTML-элемент в PHP

У меня есть функция PHP, и я вызываю ее из HTML, например.

<BODY> 
    <DIV id='A'> 
     <?php emit("hello1"); ?> 
    </DIV> 
    <DIV id='B'> 
     <?php emit("hello2"); ?> 
    </DIV> 
    </BODY>  

И я хочу знать, в функции, которая DIV она была вызвана. , например.

<?php function emit($txt){ 
      echo "$txt"; 
      echo "from DIV id $DIVID" 
     } 
    ?> 

И я хочу это, очевидно, для печати

hello1 from DIV id A 
hello2 from DIV id B 

Есть ли способ найти "текущий" ID Div в?

+1

, для которого потребуется PHP-парсер HTML/XML. это очень грязный бизнес, и я не рекомендую его. – Kristian

ответ

3

Да, вы неправильно поняли цель PHP.

PHP - это язык программирования на стороне сервера, он не запускается на HTML-странице, но до того, как HTML будет загружен в браузер.

Задача, которую вы пытаетесь сделать, может быть выполнена из JavaScript, если это интересно. Приведу пример из JQuery:

var emit = function(el, txt) { 
    var id = el.attr('id'); 
    el.html(txt+" from DIV id "+id); 

} 

Теперь вызов с использованием

emit($("#a"), "hello1"); 

То же самое можно сделать с JS следующим образом

var emit = function(el, txt) { 
    el = document.getElementById("el");  
    id = el.getAttribute('id'); 
    el.innerHTML(txt+" from DIV id "+id); 
}; 

Используйте как:

emit("a", "hello1"); 
+0

Отлично, я все равно использую jQuery, так что это сработает. –

+0

@SanjayManohar, он должен запустить событие, чтобы вызвать вызов функции. Чего вы точно хотите? мой вышеприведенный пример, вы получите вышеупомянутый вывод. – Starx

Смежные вопросы