0

I got a HTML file containing:

<div>
    <p class="derp">Hello</p>
    <p>Hi</p>
    <p>Heyo</p>
</div>

What I want to do is to do is to update the HTML file's p-tag, with specific instructions like this:

<?php
    $value = "I am here to replace something!";
    $index = 1;

    $page_source = file_get_contents($file_name);
    // Something here to replace the second p-tag with $value
    file_put_contents($file_name, $page_source);
?>

I have tried 2 different methods to do this (loadHTML, preg_replace), but I want to hear your opinion on which might be the best fit in my situation.

Very greatful for answers!

Tompina
  • 726
  • 1
  • 9
  • 25

1 Answers1

1

I personally prefer native PHP extensions. They are way faster than any other 3rd-party lib - depends on your task, but that is generally the case - and I get all the control I need over the document. DOM is the one I mostly use.

The best 3rd-party lib I have used so far, anyhow, is FluentDom; it provides a jQuery-like interface to navigate through the elements of the document and it may be installed using Composer.

I would not use regular expressions, unless I had to apply a really tiny change for which creating a new instance of DOMDocument would seem like a waste.

Edit: Gordon goes into much more details with this amazing answer.

Community
  • 1
  • 1
Johnny Bueti
  • 637
  • 1
  • 8
  • 27