2016-11-26 4 views
0

Я получил HTML-файл, содержащий:PHP - Редактирование конкретного содержания HTML в файле

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

То, что я хочу сделать, это нужно сделать, это обновить р-тег в HTML-файл, с конкретными инструкциями, как это:

<?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); 
?> 

Я пробовал 2 разных метода для этого (loadHTML, preg_replace), но я хочу услышать ваше мнение о том, что может быть наилучшим образом подходит для моей ситуации.

Очень благодарен за ответы!

ответ

1

Я лично предпочитаю native PHP extensions. Они быстрее, чем любой другой сторонний lib - зависит от вашей задачи, но это обычно так - и я получаю весь контроль, который мне нужен над документом. DOM - тот, который я в основном использую.

Лучшая сторонняя библиотека, которую я использовал до сих пор, так или иначе, FluentDom; он предоставляет jQuery-подобный интерфейс для навигации по элементам документа и может быть установлен с использованием Composer.

Я бы не использовал регулярные выражения, если бы мне не пришлось применять действительно крошечные изменения, для которых создание нового экземпляра DOMDocument показалось бы пустой тратой.

Редактировать: Gordon переходит к более подробной информации с помощью this amazing answer.

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