正则表达式匹配圣经中的经文

时间:2016-04-07 07:58:01

标签: php regex

所以,我有这样的文字:

  

\ n

     

Geneza 15:6 \ s \ sAvram a crezut pe Domnul,şiDomnuli-a socotit lucrul   acestacaneprihănire。

     

\ n

     

Geneza 12:2 \ s \ sVoi face din tine un neammareşittevoibinecuvânta; ITI   voi face un numemareşiveifiobinecuvântare。

     

\ n

如何通过REGEX将 PHP 字符串拆分为\ n和\ s \ s,以获得如下内容:

[
 0 => ['Geneza 15:6','Avram a crezut pe Domnul, şi Domnul i-a socotit lucrul acesta ca neprihănire.'],
 1 => ['Geneza 12:2','Voi face din tine un neam mare şi te voi binecuvânta; îţi voi face un nume mare şi vei fi o binecuvântare.']
]

所以每一节经文都以一个新的行开头和成功,这节经文由两部分组成:引用然后是两个空格,然后是经文。

2 个答案:

答案 0 :(得分:1)

试试这个:https://regex101.com/r/hD4nP8/1

useSSL=false

答案 1 :(得分:0)

这最终对我有用:

<?php
$handle = fopen('versete.txt', 'r');
$contents = fread($handle, filesize('versete.txt'));
fclose($handle);

preg_match_all('/^(.+?)\s{2}(.+)$/im', $contents, $matches);
echo '<pre>';
$final = [];
for($x = 0; $x < count($matches[1]); $x++) {
   $final[$matches[1][$x]] = $matches[2][$x];
}
var_dump($final);