Как перенести код из и создать файл .html в файл .php - PullRequest
0 голосов
/ 17 ноября 2010

Я хочу создать программу PHP, которая могла бы создать файл .php, который мог бы читать этот файл HTML:

<html>
<head>
<title> Hello World! </title>
</head>
<body>
</body>
</html>

Он будет искать теги <head> и </head>, включающие теги между нимии перенесите выбранные теги в header.php

Итак, header.php будет иметь следующее:

<head>
<title> Hello World! </title>
</head>

Дополнительная проблема состоит в том, как вставить тег PHP <<code>?php вначало страницы и ?> в последней части файла PHP.

Я сделал этот код прямо здесь, но это еще не сделано, и я не читаю тег <head>.

<?php
firstIdentifier = '<head>';
$secondIdentifier = '</head>';
$currentContent = str_replace("\n", "", file_get_contents('sourcefile.txt'));
$pattern = '/('.$firstIdentifier.')(.+?)('.$secondIdentifier.')/'; 

//get all text between the two identifiers, and include the identifiers in the match result
preg_match_all($pattern, $currentContent , $matches);

//stick them together with space delimiter
$contentOfNewFile = implode(" ",$matches[0]);

//save to a new file
$newFile = fopen('destinationFile.txt','a');
fwrite($newFile, $contentOfNewFile);
?>

Пожалуйста, помогите ...

1 Ответ

0 голосов
/ 17 ноября 2010

Я думаю, вы делаете это нелегко.Рассматривали ли вы разбор HTML как XML с использованием библиотеки SimpleXML?Вы могли бы сделать это!Позвольте мне объяснить:

Предположим, вы прочитали свой файл в строковую переменную с именем $ html_main, а теперь рассмотрите следующий код:

$dom = new DOMDocument("1.0", "UTF-8");
$dom->loadHTML($html_main);

$xml = simplexml_import_dom($dom);

Использование XPATH (// html / head) даст вамузел, просто нужно вызвать функцию:

$xpathObj = $xml->xpath('//html/head');

Тогда вы можете управлять своим HTML-кодом как коллекцией!Я думаю, что если вы планируете провести какой-то серьезный разбор, то это может быть лучшим способом!

...