如何只保留字符串中的数字和连字符?

时间:2018-01-23 22:30:21

标签: php

我的文字不是英文:

יום שלישי, 23 ינואר, 2018 06:00 - 07:00 

我只想节省时间:

06:00 - 07:00

然后将 - 之间的时间分开来做:

$ echo starttime;

$ echo endtime;

2 个答案:

答案 0 :(得分:4)

你正在寻找一个正则表达式来解决这个问题,一个好的正如:

/([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]/

这将与 preg_match_all() 结合使用,以分解所有结果,并将它们存储在数组中,如下所示:

<?php

$string = 'יום שלישי, 23 ינואר, 2018 06:00 - 07:00';
preg_match_all("/([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]/", $string, $matches);

print_r($matches[0]);

返回:

Array
(
    [0] => 06:00
    [1] => 07:00
)

可以直播 here

从这里开始,您只需将结果分配给新变量:

$start = $matches[0][0];
$end = $matches[0][1];

希望这有帮助! :)

答案 1 :(得分:2)

除了使用正则表达式..如果您的字符串始终格式相同..不需要使事情过于复杂..只需使用substr - 然后在{{1上explode删除时间(包括空格)。

-