例えば
$mojiretu = 'a/bb/cccc/d/e';
という文字列があったときに、'/'で区切って指定した位置で文字を分けたい場合に
$wk = 'a/bb';
なら
$arr = split('/', $wk);//$arr[0]・・・'aa' $arr[1]・・・'bb'
で簡単に分けられますが、上の$mojiretuのような区切る文字('/')が
たくさんあった場合に、前から3つ目の'/'で$mojiretuの中の文字列を2つに分けたい
というような処理がしたいのですが、どのようなやり方があるのでしょうか?
[希望する結果]
$mojiretu = 'a/bb/cccc/d/e';
前から3つ目の'/'で分ける
$arr[0]・・・'a/bb/cccc'
$arr[1]・・・'d/e'
No.1ベストアンサー
- 回答日時:
正規表現の使える preg_split を利用してみてはいかがでしょうか
<?php
$mojiretu = 'a/bb/cccc/d/e';
$arr = preg_split("#^([^/]*/[^/]*/[^/]*)/#",$mojiretu,-1,PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
print_r ($arr) ;// Array ( [0] => a/bb/cccc [1] => d/e )
?>
^([^/]*/[^/]*/[^/]*)/ 部分の正規表現パターンで区切ります
'a/bb/cccc/d/e' で上記に当てはまるのは、わかりやすく括弧もつけると
'(a/bb/cccc)/' の部分です
前から3つ目の'/'を表すために、前から3つ目の'/'までの全てを
区切りとして指定することになります
ただこれだけで区切り終えてしまうと ''(空文字) と 'd/e' になってしまいます
そこで、PREG_SPLIT_DELIM_CAPTURE フラグを付けて、
正規表現で括弧内部分にマッチした内容も返すようにしています
そうすると、''(空文字) と 'a/bb/cccc' と 'd/e' に分けられます
空文字が邪魔なので、PREG_SPLIT_NO_EMPTY フラグを使い
空文字は返さないようにして前途記述のできあがりです
詳しくは下記を参照してください
- preg_split
http://au.php.net/manual/ja/function.preg-split. …
- パターン構文
http://au.php.net/manual/ja/reference.pcre.patte …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同一URLで携帯サイトとPCサイト...
-
PHPの正規表現 パターン修飾子...
-
正規表現の「^」と「$」がうま...
-
透過PNGが透過されない!!
-
データベースへの持続的接続
-
onedrive にexcelファイルをア...
-
MySQLのdatetime型の月日0を削...
-
ラッパークラスって何ですか?
-
.phpと.incファイルの違いはな...
-
ファイルの行数取得
-
バッチを用いたフォルダの自動移動
-
Subversionのリポジトリの削除
-
リンク先を隠す方法はないでし...
-
FTPコマンドでディレクトリごと...
-
include先でのinclude元の変数...
-
PHPで新しいウインドウで開く命...
-
FORMで送信ボタンと戻るボタン...
-
PHPにて外部サイト内容が取得不...
-
ftpでアップロードが出来ない
-
JSPにてMySQLのBLOB型の画像の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPの正規表現 パターン修飾子...
-
^[a-zA-Z_][a-zA-Z0-9_]* でマ...
-
PHPの変数で最初から2行分の文...
-
正規表現で「チルダ(~)」をマッ...
-
文字列の両端の全/半角の空白
-
ドメインからホスト名だけ取り出す
-
ひらがなをマッチさせたい
-
DIRECTORY_SEPARATORについて
-
スペースを置換するには・・・
-
正規表現の「^」と「$」がうま...
-
preg_replace 英数字以外の文...
-
preg_replaceの使い方が分から...
-
スペースパディングのやり方を...
-
メールアドレスチェックの方法
-
正規表現で3回目の単語の後に文...
-
onedrive にexcelファイルをア...
-
PHPのif文でその処理を途中で抜...
-
フォントの色を変えるには?
-
違法アップロードについて
-
.phpと.incファイルの違いはな...
おすすめ情報