4

I have this html file with a conditional comment.

<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...

I am using the DomDocument library to modify the <link> attributes. Is there any way of getting DomDocument to read and modify the <link> element in the conditional comments.

1 Answer 1

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

This code works, I just let you search how to get 'offset' and 'count' value for the replaceData method !

Sign up to request clarification or add additional context in comments.

2 Comments

It's incredible that I could not find anything on the internet ! I hope it will help other people ^^
Is there a way of getting getElementsByTagName to pick up tags in comments as well? It's not ideal to loop through all child nodes to find those within comments.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.