Как я ищу и заменяю определенную область содержания в документе HTML с помощью preg_replace

У меня есть документ HTML с таблица, которую я хочу заменить, однако я не знаю то, чем содержание таблицы будет так, я должен искать открытие и закрытие тегов таблицы и затем заменить содержание между ними. Я - что-то вроде n00b с регулярными выражениями, таким образом, я испытываю затруднения при разработке, как сделать это... какие-либо идеи?

Обновление: рассматриваемый HTML доступен мне как строка, и я не могу вставить любые дополнительные данные или изменить HTML всегда... Я должен смочь искать открытие и заключительный шаблон в запуске и конце таблицы в HTML и затем заменить промежуток содержания.:)

1
задан Nathan Pitman 24 July 2010 в 14:11
поделиться

2 ответа

Не используйте для этого регулярные выражения, обратите внимание на парсеры. Например, загрузите HTML в DOMDocument, найдите таблицу с помощью DOMXPath или getElementsByTagName и используйте replaceNode или другие функции манипуляции. Делать это с помощью регексов обычно очень ненадежно.

2
ответ дан 2 September 2019 в 22:47
поделиться

HTML-документ ваш собственный или file_get_contents()взят с другого сайта? Если первое, просто измените HTML на

<html>
 ...
<table>
    <?php echo $tableString ?>
</table>
 ...
</html>

и дайте ему расширение .php или .inc. Затем, в вашем главном файле:

<?php
    $tableString = calcTableContents();
    require('includedHTML.inc');
?>

Нет смысла разбирать HTML, если это не нужно.

0
ответ дан 2 September 2019 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: