0

ローカルにいくつかの XML Atom ファイルを取得しました。<author>...</author>これらすべてのファイルには、PHP 文字列変数でキャッチしたいバリスがいくつかあります。

だから私はそれをしました:

function parseAtomByBalise($xml,$balise) {
    $arrayStr=array();
    preg_match('#<'.$balise.'>(.*)</'.$balise.'>#',$xml,$arrayStr);

    return $arrayStr;
}
 $fxml=fopen($xml,'r');
    $strXML=fgets($fxml);
    echo '<p>author: <textarea>';
    $authors=parseAtomByBalise($strXML,'author');
    foreach($authors as $author) {
        if($author!=$strXML)
            echo $author.'\n';
    }
    echo '</textarea></p>';
}

ファイルが開いていて、strXML が適切な文字列です。preg_match の挙動がおかしくて、これは良い機能ではないと思います...<author></author>

どうすればいいですか?

4

1 に答える 1

3
  1. 車輪の再発明を試みないでください。
  2. RegexXMLの解析には適していません(単なるであり、絶対的な証明ではありませんが...)
  3. 単純なXMLPHPなどの組み込みツールを使用する
于 2013-01-29T16:49:47.523 に答える