2016-11-26 12:30

PHP - 编辑文件中的特定HTML内容[重复]


This question already has an answer here:

I got a HTML file containing:

    <p class="derp">Hello</p>

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

    $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!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答


  • duannuci4008 duannuci4008 5年前

    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.

    点赞 评论 复制链接分享