解析圣经书籍字符串的PHP问题

use*_*953 2 php string variables parsing explode

我希望你能帮助我.

我有一个像下面这样的字符串

路加福音1:26-38

我希望能够将其分解为令牌或单个变量,以便我可以在SQL查询中使用变量.

我尝试过使用爆炸,但是我只能在一个角色上爆炸,例如:或 -

我的字符串有:和 - 以及名称和第一个数字之间的空格.

我的目标是:

    $name = Luke;
    $book = 1;
    $from = 26;  
    $to = 38;
Run Code Online (Sandbox Code Playgroud)

有人能帮忙吗?

非常感谢

hak*_*kre 8

您可以通过简单的字符串扫描(Demo)来实现:

$r = sscanf("Luke 1:26-38", "%s %d:%d-%d", $name, $book, $from, $to);
Run Code Online (Sandbox Code Playgroud)

然后,varibales包含信息.%s表示一个字符串(没有空格),%d一个小数.见sscanf.


为了使这个"圣经安全",它需要一些额外的修改:

$r = sscanf($string, "%[ a-zA-Z] %d:%d-%d", $name, $book, $from, $to);
$name = trim($name);
Run Code Online (Sandbox Code Playgroud)

(第二个演示).