• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特定の要素を抜き取って連想配列へ)

特定の要素を抜き取って連想配列へ

このQ&Aのポイント
  • 特定の要素を抜き取って連想配列に格納する方法について質問です。
  • 質問文章中の%_?_%の部分をキーとして、そのはさまれた部分を連想配列の値として格納したいです。
  • 現在、preg_matchを使用してパターンマッチを試みましたが、条件に当てはまらずうまくいきませんでした。PHP4の環境です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Rayderl
  • ベストアンサー率83% (40/48)
回答No.1

こんな感じでどうでしょう(全角スペースでインデントしてあります)。 if (preg_match_all('/%_([A-Z])_%([^\1]*)%_\1_%/', $hoge, $matched) != FALSE) {   foreach ($matched[1] as $offset => $key) {     $array[$key] = $matched[2][$offset];   } }

suzuki-_-
質問者

お礼

お返事ありがとうございます 試してみたところ、見事求めている形になりました 条件内は\1なのですね(シングルクォート囲みで\1が機能するようにした上で) それとpreg_matchでなくpreg_match_allを使うことで、 $matchedにマッチ内容全てが多次元配列となって格納されることもとても勉強になりました どうもありがとうございました!

関連するQ&A