非常简单我确定,但是......
我有一个文件,保证只有< h1>一些文字< / h1>和另外一些文本< / p>在它。
我如何将这些元素作为单独的变量返回?
答案 0 :(得分:2)
如果您的文件是HTML文件,一般的解决方案是:
DOMDocument
DOMDocument::loadHTML
如果您的HTML内容为字符串DOMDocument::loadHTMLFile
DOMDocument::getElementsByTagName
应该是完美的答案 1 :(得分:1)
您的文件只是文本,因此您将不得不解析它。通常,HTML并不适合使用正常操作进行解析,但如果您知道确切的内容,则不应该有问题。
根据两个标记块之间的分隔符(假设它是\n
),您可以执行以下操作:
$contents = file_get_contents("yourfile.html");
list($h1,$p) = explode("\n",$contents);
这会在$h1
和$p
中为您提供两个文本块。如果你需要做更多的工作,你可以从那里解析其余部分。
答案 2 :(得分:0)
您可以使用以下内容:
function strBetween($au, $au2, $text) {//gets substring beetween $au and $au2 in $text
$pau = strpos($text, $au);
if($au2 !== '') {
$pau2 = strpos($text, $au2,$pau);
if($pau !== false && $pau2 !== false)
return substr($text, $pau+strlen($au), $pau2-$pau-strlen($au));
else
return '';
} else {
return substr($text, $pau+strlen($au));
}
}
$contents = file_get_contents("yourfile.html");
$h1 = strBetween('<h1>', '</h1>', $contents);
$p = strBetween('<p>', '</p>', $contents);