前提・実現したいこと
phpの正規表現を使って文字列の抽出をしています。以下のような文字列から、「6文字」+「数字」+「日」という文章のみを抽出したいのですが、うまく抽出できません。
<文字列>
ホテルに泊まる12日目イタリア8日間
該当のソースコード
<?php $text = "ホテルに泊まる12日目イタリア8日間"; preg_match_all('/......[\d]+日/u', $text, $result); echo "<pre>"; print_r($result[0]); echo "</pre>";
出力結果
Array ( [0] => テルに泊まる12日 )
理想の出力結果
Array ( [0] => テルに泊まる12日 [1] => 日目イタリア8日 )
試したこと
最初に「テルに泊まる12日」を抽出した際に、残りの文章が「目イタリア8日」になってしまい、「6文字」+「数字」+「日」の組み合わせにマッチしないのが原因なのはわかっているのですが、どのように改善すればよいのかわからなく困っています。
補足情報(FW/ツールのバージョンなど)
PHP 7.2.5
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/30 07:56
2018/07/30 07:59