[PHP-users 13429] Re: 注釈文の検索
Katsuo Mogi
php-users@php.gr.jp
Wed, 19 Feb 2003 19:48:37 +0900
茂木です。
In the message [PHP-users 13426] 注釈文の検索
<20030219085805.93319.qmail@web302.mail.yahoo.co.jp>
堀越 年秋 <nekkori@yahoo.co.jp> wrote:
> なお、この注釈は1行に1つではなく、複数存在します。
> 以下、試したソースです。
> ------------------------------------------------------
> $tag = "hoge1<!-- LINK:CMD=dynamic -->hoge2<!--
> NAME:CMD=tpl -->hoge3";
> preg_match_all("/<!--\s*(LINK|NAME)\s*:CMD=.*\s-->/",$tag,$word);
> foreach ($word[0] as $val) {
> print $val . "<br>";
> }
> 上記を実行すると、純粋に注釈文を取得するのではなく、"hoge2"
> という文字列も取得してしまいます。
> 注釈文だけを取得したいのですが・・・。
注釈の中に> が現れないことが前提になってしまいますが。
preg_match_all("/<!--\s*(LINK|NAME)\s*:CMD=[^>]+\s-->/",$tag, $word);
でいかがでしょうか?
もっとうまい方法あるかも知れません。
# $tag = "hoge1<!-- LINK: ... の行は、元は1行なんですよね?
# コピーしてそのまま実行したら注釈文だけ取ってきたので焦りました。
--
---------------------------------
茂木克夫
mogi-k2@msg.biglobe.ne.jp
---------------------------------