PHPの正規表現について。

以下のようなテキストがあるとします。

<ringomikanbanana>
<rintobanana>
<bananaringo>
<ringomikan>
<ringoringo>

"mikan"が入ってないタグだけpreg_match_allなどで抽出したいのですが、
正規表現はどのように書く方法があるでしょうか

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/03/24 01:26:19
  • 終了:2011/03/24 12:57:51

ベストアンサー

id:niwa-mikiho No.1

niwa-mikiho回答回数508ベストアンサー獲得回数382011/03/24 02:22:54

ポイント50pt

"/(<((?!mikan).)*?>)/i"


これでどうでしょうか?

id:dedara

ありがとうございます。できました。

2011/03/24 12:47:50

その他の回答(1件)

id:niwa-mikiho No.1

niwa-mikiho回答回数508ベストアンサー獲得回数382011/03/24 02:22:54ここでベストアンサー

ポイント50pt

"/(<((?!mikan).)*?>)/i"


これでどうでしょうか?

id:dedara

ありがとうございます。できました。

2011/03/24 12:47:50
id:deflation No.2

deflation回答回数1036ベストアンサー獲得回数1262011/03/24 09:16:44

ポイント20pt

こんな感じでいかがでしょう。

<?php
$text =<<< EOT
<ringomikanbanana>
<rintobanana>
<bananaringo>
<ringomikan>
<ringoringo>

EOT;

//抽出と表示
$str = strtok($text, "\n");
do {
    echo $str;
    if (preg_match("/^<(?!.*mikan).+>$/m", $str, $items) > 0) {
        echo htmlspecialchars($items[0]);
        echo '<br />';
    }
} while (($str = strtok("\n")) != FALSE);
?>

コメントはまだありません

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

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

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

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