人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPの正規表現で、複数の文字列を対象にした構文が作れません。

ソースは
http://1811way.com/work008/20120730-01.txt
です。
http://q.hatena.ne.jp/1343485953
に2行目のURL、8行目の文字列を変えただけです。

上記のソースの
$keyword = '/関塚/';
を、「関塚」「モロッコ」「なでしこ」
の3つあった場合の
ソースを修正していただけると助かります。

●質問者: kohhi
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Cherenkov
●300ポイント ベストアンサー
$keyword = '/関塚|モロッコ|なでしこ/';


このあたりを穴が開くほど眺めるといいですよ。


kohhiさんのコメント
瞬時にできてしまいました。 ありがとうございました。

2 ● y-kawaz
●0ポイント

以下のようにすればパイプで区切ったキーワードのどれかがあれば、という条件になります。

$keyword = '/(関塚|モロッコ|なでしこ)/';


kohhiさんのコメント
お返事いただいてすいません。 先ほど閉め切ってしまいました。

y-kawazさんのコメント
「3つあった場合」っていうのが「3つともあった場合」だとしたら正規表現では無理があるのでpreg_matchを3回回す形になります。

3 ● きゃづみぃ
●0ポイント

http://www.rubylife.jp/regexp/select/index1.html

いくつかの候補となる文字列を列挙し、そのいずれか一致する場合にマッチするパターンの記述方法を確認します。書式は次の通りです。

/候補1|候補2|../



なので
$keyword = '/関塚/';

$keyword = '/関塚|モロッコ|なでしこ/';
にしたらいいでしょう。


kohhiさんのコメント
お返事いただいてすいません。 先ほど閉め切ってしまいました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ