我之前已经将一个字符串保存到 .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];