我之前已经将一个字符串保存到 .txt 中,如下所示:
$text = "<div class='highlight'><div><p>".$date.".</p> <h1> ".$heading."</h1>".$textbox."</div></div>";
我现在想提取$date,$heading并$textbox从 txtfile 回到变量,以进行编辑,但我不知道如何做到这一点。
谁能帮我?
我之前已经将一个字符串保存到 .txt 中,如下所示:
$text = "<div class='highlight'><div><p>".$date.".</p> <h1> ".$heading."</h1>".$textbox."</div></div>";
我现在想提取$date,$heading并$textbox从 txtfile 回到变量,以进行编辑,但我不知道如何做到这一点。
谁能帮我?
您需要使用 DOM 解析器来解析 HTML。
http://simplehtmldom.sourceforge.net/
从上述网站发布的代码。
$html = file_get_html('http://www.google.com/');
// 查找所有图像
foreach($html->find('img') as $element)
回声 $element->src 。'
';
// 查找所有链接
foreach($html->find('a') as $element)
回声 $element->href 。'
';
或 PHP 的 DOM
$str = file_get_contents("a.txt");
$DOM = 新的 DOMDocument;
$DOM->loadHTML($str);
//获取所有H1
$items = $DOM->getElementsByTagName('h1');
//显示所有H1文本
for ($i = 0; $i < $items->length; $i++)
回声 $items->item($i)->nodeValue 。"
";
[编辑-阅读评论后,似乎正则表达式不是要走的路。请尝试使用 SimpleHtmlDom 解析器]
$html = new simple_html_dom();
$html->load($yourstring);
$date = $html->find('p')->innertext;
$heading = $html->find('h1')->innertext;
$textbox = $html->find('div div')->innertext;
您可以在此处找到 Simple Html Dom 的文档 - http://simplehtmldom.sourceforge.net/manual.htm
一种效率较低的方法 - preg_match('#
(。)。(。)。(.*)#', $text, $matches); $date = $matches[0]; $heading = $matches[1]; $文本框 = $matches[2];