我需要一些字符串来从中获取数据。我需要一种简单的方法来告诉PHP查看字符串并删除我需要的部分之前和之后的数据。一个例子是:
When: Sat 19 Sep 2009 22:00 to Sun 20 Sep 2009 03:00 
我想删除“何时:”然后删除&以及它之后的一切。这是一个正则表达式的东西?以前没用过它们。
答案 0 :(得分:1)
我不会为此使用正则表达式。
$data = substr($input, 6, strpos($input, '&') - 6);
答案 1 :(得分:1)
是的,正则表达式可以在睡眠中做这种事情。
$result = preg_replace('/When:(.*)&.*/', '$1', $text);
<强>更新强> 如果你只想找到日期范围,在许多其他文本的中间,这里是一个粗略的正则表达式,将匹配问题中的那个...
if (preg_match('/[a-z]{3} [0-9]{2} [a-z]{3} [0-9]{4} [0-9]{2}:[0-9]{2} to [a-z]{3} [0-9]{2} [a-z]{3} [0-9]{4} [0-9]{2}:[0-9]{2}/i', $text, $regs)) {
$result = $regs[0];
} else {
$result = "";
}
答案 2 :(得分:0)
所以你想保持“2009年9月19日星期六22:00至2009年9月20日星期日03:00”
好吧,你可以选择正则表达式。我对PHP中的Regexp了解不多,但在PERL中,您可以像
那样进行操作/ ^当:(。*)\&amp; nbsp; $ /。
然后可以使用(。*)来获得您想要保留的所有内容。在PERL中,这将是$ 1 var。
或者你可以做类似
的事情/ ^何时:(。)\&amp;。 $ /如果内容在&amp;是可变的。
另外,你必须要小心。如果你要保留的字符串包含&amp;,那么它可能会有点棘手。
但RegExp通常是获得此类工作的方法。