2010-10-07 3 views
3

У меня есть этот html-файл с условным комментарием.PHP DomDocument alter условные комментарии

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
     <link rel="stylesheet" type="text/css" href="css/style.css"> 
     <link rel="stylesheet" type="text/css" href="css/elements.css"> 
     <title>Page</title> 
     <!--[if lte IE 6]> 
     <link rel="stylesheet" type="text/css" href="css/ie6.css" /> 
     <![endif]--> 
    </head> 
etc... 

Я использую библиотеку DomDocument изменить <link> атрибуты. Есть ли способ заставить DomDocument читать и изменять элемент <link> в условных комментариях.

ответ

3
foreach($dom->getElementsByTagName('head') as $head) { 
    foreach($head->childNodes as $node) { 
     if($node instanceof DOMComment) { 
      $node->replaceData(16,60,'test'); 
     } 
    } 
} 

Этот код работает, я просто позволю вам найти, как получить значение «offset» и «count» для метода replaceData!

+0

приветствия, именно то, что я ищу –

+1

Невероятно, что я ничего не нашел в Интернете! Я надеюсь, что это поможет другим людям ^^ – MatTheCat

+0

Есть ли способ получить getElementsByTagName, чтобы забрать теги в комментариях? Невозможно перебрать все дочерние узлы, чтобы найти те, которые находятся в комментариях. – chapmanio

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