• ベストアンサー

正規表現

/hoge / /hogehoge/hoge/ho などの文字列があります。 初めのスラッシュから次のスラッシュまでの文字を取得するにはどうすればいいのでしょうか? 上の例ですと 初めの文字列は hoge 2番目:null 3番目:hogehoge よろしくお願いいたします。

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

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.3

こんな感じ良いのかな? php <?php $dir[]='/hoge'; $dir[]='/'; $dir[]='/hogehoge/hoge/ho'; $result=preg_replace('|^/([^/]*).*|',"$1",$dir); print_r($result); ?>

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

命題と結果提示がちがうので補足が必要ですね >初めのスラッシュから次のスラッシュまでの文字を取得 であれば1番目と2番目はヒットしません 初めのスラッシュから次のスラッシュもしくは行末までの文字を取得 ということでしょうか? また、2番目はnullをヒットするのでしょうか、それともヒットしないでよいのでしょうか?

  • exists
  • ベストアンサー率62% (27/43)
回答No.1

こんにちは いろいろ方法はあると思いますが、一例として explode関数で、ディレクトリセパレータを区切り文字とした配列を作ります。 配列の中身は、var_dump($result)で確認できます。 その中から、必要な部分を、表示します。 ※2番目は、nullにはなりません。注意してください。 <?php $data = '/ddd/ccc'; $result = explode('/',$data); echo $result[1]; //var_dump($result); ?> ※ 以下は、OKと表示されます。 if(null == ""){ echo "OK"; } 以下は、OKは表示されません if(null === ""){ echo "OK"; }

関連するQ&A

専門家に質問してみよう