0

私はphpが初めてです。コースの宿題の一環として、Web サイトからデータを抽出し、そのデータを使用してテーブルをレンダリングする必要があります。

PS : 正規表現の使用は適切なオプションではありませんが、DOM、jQuery などのライブラリの使用は許可されていません。

文字セットはUTF-8です。

$searchURL = "http://www.allmusic.com/search/artists/the+beatles";
$html = file_get_contents($searchURL);

$patternform = '/<form(.*)<\/form>/sm';
preg_match_all($patternform ,$html,$matches);

ここで正規表現は正常に機能しますが、テーブルタグに同じ正規表現を適用すると、空の配列が返されます。$html の空白と何か関係がありますか?

ここで何が問題なのですか?

4

1 に答える 1

1

次のコードは、適切な結果を生成します。

$searchURL = "http://www.allmusic.com/search/artists/the+beatles";
$html = file_get_contents($searchURL);

$patternform = '/(<table.*<\/table>)/sm';
preg_match_all($patternform ,$html,$matches);

echo $matches[0][0];

結果:

ここに画像の説明を入力

于 2013-03-08T19:20:12.290 に答える