0

以前、次のように文字列を .txt に保存しました。

$text = "<div class='highlight'><div><p>".$date.".</p> <h1> ".$heading."</h1>".$textbox."</div></div>";

私は今、編集のために を抽出し、txtfile から変数に戻したいと$date思っていますが、これを行う方法がわかりません。$heading$textbox

誰でも私を助けることができますか?

4

2 に答える 2

1

HTML を解析するには、DOM パーサーを使用する必要があります。

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->長さ; $i++) echo $items->item($i)->nodeValue . "
";

于 2012-05-30T11:17:09.037 に答える
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];

于 2012-05-30T11:16:35.243 に答える