0

ここで少し助けが必要です。しようとしているのは、bノードのすべてのコンテンツをプルすることです。

<P><B>Credit Weighting: </B>5<BR><BR>
<B>Teaching Period(s): </B>Teaching Periods 1 and 2.<BR><BR>
<B>No. of Students: </B>-.<BR><BR>
<B>Pre-requisite(s): </B>None<BR><BR>
<P><A HREF="#top" class="toppage">[Top of page]</A></P>

<P><B>Credit Weighting: </B>20<BR><BR>
<B>Teaching Period(s): </B>Teaching Periods 1 and 2.<BR><BR>
<B>No. of Students: </B>-.<BR><BR>
<B>Pre-requisite(s): </B>None<BR><BR>
<P><A HREF="#top" class="toppage">[Top of page]</A></P>

<P><B>Credit Weighting: </B>10<BR><BR>
<B>Teaching Period(s): </B>Teaching Periods 1 and 2.<BR><BR>
<B>No. of Students: </B>-.<BR><BR>
<B>Pre-requisite(s): </B>None<BR><BR>
<P><A HREF="#top" class="toppage">[Top of page]</A></P>

最初のセットからデータをプルすることができました。これを行うサンプルコードを以下に示します。

    // GETTING ALL THE B NODE STUFFS AND PRINTING IT'S CONTENTS
    $result = array();
    foreach($document->getElementsByTagName('b') as $node){
    $result[preg_replace('/:\s+$/','',$node->textContent)] = trim($node->nextSibling->textContent);
    } 
    var_dump($result);
    echo '<br /><br />'; 

今やろうとしているのは、3セットのhtmlコードをループして、すべてのbノードを取得し、コンテンツを取得することです。これについてはどうすればよいですか。

4

2 に答える 2

0

試す

preg_match_all("/\<B\>(.*)\<\/B>([^\<]+)/", $text, $regs);

データの2番目のビットにhtmlタグが含まれていないと仮定します。

于 2012-06-29T10:34:24.477 に答える
0

こういう意味ですか?

$result = array();
$id= -1;
foreach($document->getElementsByTagName('b') as $node){
    $field= preg_replace('/:\s+$/','',$node->textContent);
    if ( $field == "Credit Weighting" ) $id++;
    $result[$id][$field]= trim($node->nextSibling->textContent);
}.
var_dump($result);

これはあなたを取得します:

array(3) {
  [0] =>
  array(4) {
    'Credit Weighting' =>
    string(1) "5"
    'Teaching Period(s)' =>
    string(25) "Teaching Periods 1 and 2."
    'No. of Students' =>
    string(2) "-."
    'Pre-requisite(s)' =>
    string(4) "None"
  }
  [1] =>
  array(4) {
    'Credit Weighting' =>
    string(2) "20"
    'Teaching Period(s)' =>
    string(25) "Teaching Periods 1 and 2."
    'No. of Students' =>
    string(2) "-."
    'Pre-requisite(s)' =>
    string(4) "None"
  }
  [2] =>
  array(4) {
    'Credit Weighting' =>
    string(2) "10"
    'Teaching Period(s)' =>
    string(25) "Teaching Periods 1 and 2."
    'No. of Students' =>
    string(2) "-."
    'Pre-requisite(s)' =>
    string(4) "None"
  }
}
于 2012-06-29T10:34:52.557 に答える