我的任务是在提到某个特定的词时得到所需的日期。我想要的日期,例如“斯佩尔米斯布鲁克”是提到,所以我想29/7/2014,这是我想要的工作。
22/10/2013 ånger, ska bet 6,428:-,
bet 6428, 2109+2016+2303 inlagt
23/5/2014 bl 26/5, medd inga avgifter)
29/7/2014 spelmissbruk
29/12/2014 föreslår godkänn
27/4/2016 Föreslår godkänn
我的问题是,在某些情况下,日期可能在另一行。
spelmissbruk
29/7/2014
这是我现在用来提取所需日期的代码。任何提示都将不胜感激。
$subject = $row['anteckning'];
$pattern = $wordToFind;
if(preg_match_all("/(\d{1,2}\/\d{1,2}\/\d{4}).*$pattern.*/i",$subject, $matches)) {
$date = $matches[1][0];
}
下面是一个日期的例子,将不会被保存为我想要的
12/7/2018 - kund ringer in, har fått hem fakturan men känner ej igen den. Kund uppger att det ej är han som tagit lånet. Kund har ej fått hem andra fakturor eller någon kreditupplysning. Swedbank hade hört av sig till kund och meddela tom ett belopp på 15000:- som hade kommit in på hans konto och sedan förts iväg igen till okänt konto. Meddelat att ansökan är identifierad.
Bett kund tag kontakt med sin bank, bisnode, polisanmälan och skicka polisanmälan till oss.
这就是我一直想做的
$move_date = preg_replace("(\d{1,2}\/\d{1,2}\/\d{4})", "-", $subject)
$explodeDate = explode("-",$move_date);
print_r($explodeDate);
我的身份证é一个方法是分解它,然后删除所有行。
在这里我有一个例子文本时,日期将不会被保存,这是因为行格式。我要找的是“波利斯”这个词,如果是比赛的话,就停下来看看日期。
12/7/2018 - Sofi: kund ringer in, har fått hem fakturan men känner ej igen den. Kund uppger att det ej är han som tagit lånet. Kund har ej fått hem andra fakturor eller någon kreditupplysning. Swedbank hade hört av sig till kund och meddela tom ett belopp på 15000:- som hade kommit in på hans konto och sedan förts iväg igen till okänt konto. Meddelat att ansökan är identifierad.
Bett kund tag kontakt med sin bank, bisnode, polisanmälan och skicka polisanmälan till oss.
这是一个文本,将保存我想要的日期
25/7/2018 - Sofi: detta är bedrägeri, kund son hade gjort bedrägeri på kund, kund har polisanmält, spärrat sin bankdosa osv. Pengarna finns kvar på kunds konto, även ifrån andra bolag. Meddelat 25000:-, därefter slutbetalt. Kund betalar detta idag. Lagt in spärr på kunds begäran
2条答案
按热度按时间cfh9epnr1#
首先,你需要使用
s
使.
符号搜索多行匹配。其次,不要使用.*
因为在你的情况下,它总是只匹配第一次约会。第三,使用preg_quote
从要查找的字符串中引用特殊字符。作为一个完整的示例,请尝试以下方法:
s4n0splo2#
下面是我用三个案例测试的工作代码:
案例1,前面的日期,你已经做了。
案例2,最后的日期,我只是对第一个做了一点修改。
案例3,日期在新行中,解释如下。
preg_match_all
有个旗子叫PREG_OFFSET_CAPTURE
它将返回捕获的模式的偏移量,然后同一个函数具有可以设置的偏移量参数,所以我所做的是,我搜索案例1和案例2的模式,如果没有找到,则使用PREG_OFFSET_CAPTURE
,然后进行第二次搜索,这次使用PREG_OFFSET_CAPTURE
标记为偏移量,并返回行中唯一的日期。希望这个解决方案对你有帮助。