私は正規表現が初めてで、各配列要素の先頭にその区切り記号を保持しながら、区切り記号で文字列を分割したいと考えています。私はそれを試みて失敗し、思いついた:
$str = 'LOTS OF STUFF AND SOME MORE STUFF AND SOME OTHER STUFF';
$matches = preg_split('/(\ AND)/', $str, null, PREG_SPLIT_DELIM_CAPTURE);
これにより、区切り文字が独自の要素として配置されます。
[0]=>"LOTS OF STUFF"
[1]=>" AND"
[2]=>" SOME MORE STUFF"
[3]=>" AND"
[4]=>" SOME OTHER STUFF"
しかし、要素の先頭に区切り記号を付けておきたいと思いました:
[0]=>"LOTS OF STUFF"
[1]=>" AND SOME MORE STUFF"
[2]=>" AND SOME OTHER STUFF"
後読みを使用しようとしてできるかもしれないと思ったのですが、区切り文字が再び失われていました。
$matches = preg_split('/(?<=\s)AND/', $str, null, PREG_SPLIT_DELIM_CAPTURE);
[0]=>"LOTS OF STUFF"
[1]=>" SOME MORE STUFF"
[2]=>" SOME OTHER STUFF"
助けていただければ幸いです、ありがとう!!