我已经将字符串保存为.txt,如下所示:
$text = "<div class='highlight'><div><p>".$date.".</p> <h1> ".$heading."</h1>".$textbox."</div></div>";
我现在想要从txtfile中将$date
,$heading
和$textbox
提取回变量,以便进行编辑,我不知道如何做到这一点。
任何人都可以帮助我吗?
答案 0 :(得分:1)
您需要使用DOM解析器来解析HTML。
http://simplehtmldom.sourceforge.net/
从上述网站发布的代码。
$html = file_get_html('http://www.google.com/'); // Find all images foreach($html->find('img') as $element) echo $element->src . '
'; // Find all links foreach($html->find('a') as $element) echo $element->href . '
';
OR PHP的DOM
$str = file_get_contents("a.txt"); $DOM = new DOMDocument; $DOM->loadHTML($str);//get all H1 $items = $DOM->getElementsByTagName('h1');
//display all H1 text for ($i = 0; $i < $items->length; $i++) echo $items->item($i)->nodeValue . "
";
答案 1 :(得分:0)
[编辑 - 阅读评论后,似乎正则表达式不是要走的路。请尝试使用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]; $ textBox = $ matches [2];