以下の内容をPHP5で書いてください。

http://ja.wikipedia.org/wiki/大久保利通

1.「編集」と言う文字があったら

2.その前の太字の文字 例:「生い立ち」 を表示

2-1 その前(「生い立ち」の前に)に太字の文字があったら、その太字の文字「生涯」と「節」という文字  を表示

3.次の「編集」という文字の前の太字の文字の前まで
  例:文政13年8月 ~ 後に改名する。
  まで  を 表示。

4.これを、「編集」という文字がなくなるまで繰り返す。

* 「を表示」 は echo コマンドお願いします。

よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/01/28 11:21:21
  • 終了:2013/02/02 19:06:22

ベストアンサー

id:oil999 No.1

oil999回答回数1728ベストアンサー獲得回数3202013/01/28 19:20:00

ポイント200pt

以下のプログラムをお試しください。

気になったことを列挙します。

  1. 与えられた条件だと、どこまで表示すればよいか(表示の終了条件)が分かりません。
  2. 「節」の表示方法が分かりません。"節"という文字列は表示されず、title属性に含まれています。これをどう表示させるかが分かりません。

<?php
$pat1 = "/(.+)<span class=\"editsection\">.+>編集.+(<span class=\"mw-headline\"[^>]+>.+<\/span>)(.+)/iu";
$keyword = '大久保利通';
$url = 'http://ja.wikipedia.org/wiki/' . urlencode($keyword);

$res = '';
$flag = FALSE;
$fp = fopen($url, 'r');
while (!feof($fp)) {
	$str = fgets($fp);
	if (preg_match($pat1, $str, $match)) {
		$res .= $match[1] . $match[2] . $match[3];
		$flag = TRUE;
	} else if ($flag == TRUE) {
		$res .= $str;
	}
}
fclose($fp);

echo $res;
?>
id:kohhi

早速お返事いただきありがとうございます。
書いていただいたプログラム確かに動きました。

次にやりたいこともあるのですが、書いていただいたプログラムを
しっかり勉強し直してから、わからない部分なったら質問させていただきます。

時期がきましたので、この質問は締めさせていただきます。
ありがとうございました。

>どこまで表示すればよいか
「案内メニュー」と言う文言の前まで、ということになりますか。

>「節」の表示方法
書いていただいたプログラム通りの表示方法です。

2013/02/02 19:01:55
  • id:taknt
    一番上に


    アカウント作成
    ログイン

    ページ
    ノート

    閲覧
    編集


    編集の文字がある。
  • id:windofjuly
    うぃんど 2013/01/28 14:34:31
    takntさんジョークがきついですね。
    マジだったらさらに笑えませんが…。

    生い立ち [編集]
    あああ

    幕末 [編集]
    いいい

    倒幕・王政復古 [編集]
    ううう

    明治維新後 [編集]
    えええ

    「大久保政権」 [編集]
    おおお

    暗殺 [編集]
    かかか

    あああ、いいい、ううう、えええ、おおお、かかかの部分が欲しいんでしょ。
    それなら前回回答したものの中にもう一段加えるだけなんだけど、
    一行一行やるというほうがベストらしいので回答する意味をみいだせないなぁ。
  • id:taknt
    >takntさんジョークがきついですね。

    そういうところは あいまいにしちゃあいけません。

    文章内に 「編集」という単語もありうる可能性は あるので
    しっかりと定義したほうがいいのです。
    というか、そうしないと 何を基準に判断すればいいのか わからない。

    そして そんなんだから よくわからない質問となってしまうのである。

  • id:windofjuly
    うぃんど 2013/01/28 16:53:09
    >あいまいにしちゃあいけません

    そりゃそうですよね。

    >文章内に 「編集」という単語もありうる可能性は あるので
    >しっかりと定義したほうがいい

    質問の一部分だけを読むからそうなってしまうのであって、
    質問文を上から順に読んでいけば意図はしっかり伝わってくる文章ですね。

    >そんなんだから よくわからない質問となってしまう

    さすが自分をよくわかってらっしゃる(笑)
    質問文をちゃんと読まないからよくわからない質問になってしまうのですよね。
    ジョークもここまで捨て身でやられるとは…あとで☆三つつけときます。
  • id:kohhi
    ま、わからないから聞いているんですが、
    「わからないことが、わからない」まま質問してしまったようで、
    すいません。
    takntさん、ご指摘通りですね。

    ご指摘部分を含め勉強します。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません