あなたがやって見ているものを行うためにsplit()
(またはexplode()
)を使用します。それはmisfindますので、各ラインのフォーマット自体は、最初.
と最初:
を探している、この中で、非常に重要です、注意してください
1.Matthew 8: 1-4: Blah Blah Blah.
正直に言うと、私はあなたが持つほうが良いと思いますここで正規表現。
$kvs = array();
$str = "
1. Matthew 8:1-4: Blah blah blah blah Blah: blah.
2. Mark 1:32-34: Blah blah. Blah, blah; blah.
3. Mark 2:2-4: Blah blah. Blah, blah; blah.
";
$split = split("\n", $str);
$c_split = count($split);
print_r($split);
for ($i = 0; $i < $c_split; $i++) {
if (trim($split[$i]) != '') {
$key = substr($split[$i], strpos($split[$i], '. ') + 2, strpos($split[$i], ': ') - 3);
$value = substr($split[$i], strpos($split[$i], ': ') + 2);
$kvs[$key] = $value;
}
}
print_r($kvs);
http://codepad.org/hq2LkMlr
はあなたに与える:
あなたが解析しようとしているもの
Array
(
[0] =>
[1] => 1. Matthew 8:1-4: Blah blah blah blah Blah: blah.
[2] => 2. Mark 1:32-34: Blah blah. Blah, blah; blah.
[3] => 3. Mark 2:2-4: Blah blah. Blah, blah; blah.
[4] =>
)
Array
(
[Matthew 8:1-4] => Blah blah blah blah Blah: blah.
[Mark 1:32-34] => Blah blah. Blah, blah; blah.
[Mark 2:2-4] => Blah blah. Blah, blah; blah.
)
? – shanabus
聖書の名前は、最初の完全な終わりと2番目のコロンの間にあるようです。テキストは2番目のコロンの後にあります。あなたはそれを解析するために正規表現を必要とすべきではありません。 – JJJ
解析の結果であると予想されるものと、自分で試したものについての情報が参考になるかもしれません。 – Repox