我在PHP中有很多文件。我需要创建一个脚本来查找一些标记(字符串)并使用它们生成另一个文件。
例如我有这个文件:
file1.php
<html lang="ru">
<html>
<head>
<title>**TAG nr 1**</title>
</head>
<body>
<p class="description>**Tag nr 2**</p>
</body>
</html>
脚本需要从标题获取字符串,而p需要class="description"
。
在此之后,我将使用此标记生成另一个文件,我有一个脚本。感谢。
答案 0 :(得分:1)
您可以使用php中的DOMDocument
函数来获取结果。但要验证html输入是否有效并使用try catch
捕获错误。
http://php.net/manual/en/class.domxpath.php
http://php.net/manual/en/class.domdocument.php
$html = '<html lang="ru">
<head>
<title>**TAG nr 1**</title>
</head>
<body>
<p class="description">**Tag nr 2**</p>
</body>
</html>';
// prevent XXE injections
libxml_disable_entity_loader(true);
// create new DOMDocument + load html
$doc = new DOMDocument();
$doc->loadHTML($html);
// create xpath
$xpath = new DOMXPath($doc);
$elements = $xpath->query("//p[contains(@class, 'description')]");
// list results
foreach ($elements as $node) {
echo $node->nodeName . "\n";
echo $node->textContent;
}
标题只需创建另一个xpath $xpath->query("//title");