2016-04-21 88 views
0

如何使用preg_match php從字符串中獲取值?如何使用preg_match php從字符串中獲取值?

下面的代碼。我試圖獲得Expiration Date:>>> Last update of whois之間的值08-dec-2021

我試圖測試我的代碼但不工作。 (沒有任何迴音,並顯示錯誤 Warning: preg_match(): No ending delimiter '/' found in on line 3

<?php 
$test_text = "Updated Date: 04-feb-2014 Creation Date: 08-dec-2009 Expiration Date: 08-dec-2021 >>> Last update of whois >>> database: Thu, 21 Apr 2016 03:56:01 GMT"; 
preg_match('/Expiration Date: "(.+?)" >>> Last update of whois database',$test_text,$matches); 
echo $matches[1]; 
?> 

我怎樣才能做到這一點?

+1

您是否調查過錯誤信息的含義?正則表達式必須以您開始使用的分隔符結束;在這種情況下'/'。 – chris85

回答

0

您必須更改3件東西
。省略"" from正則表達式
。您沒有在正則表達式末尾輸入「/
。更改 「Last update of whois database」 爲「Last update of whois >>> database"
省略""從正則表達式

<?php 
$test_text = "Updated Date: 04-feb-2014 Creation Date: 08-dec-2009 Expiration Date: 08-dec-2021 >>> Last update of whois >>> database: Thu, 21 Apr 2016 03:56:01 GMT"; 
preg_match('/Expiration Date: (.+?) >>> Last update of whois >>> database/',$test_text,$matches); 
print_r($matches); 
?> 

工作Example

+0

請讓我知道你是否已完成@mongmong seesee –

+0

是的,這是工作^^ –

+0

如果它有效,你應該接受答案,以便其他人可以從中受益。謝謝@ mongmong-seesee –

0

你可以做到這一點,你通過的preg_match使用下面

$test_text = "Updated Date: 04-feb-2014 Creation Date: 08-dec-2009 Expiration Date: 08-dec-2021 >>> Last update of whois >>> database: Thu, 21 Apr 2016 03:56:01 GMT"; 
preg_match('/Expiration Date: (.+?) >>>/',$test_text,$matches); 
echo $matches[1]; 

或者你的代碼做也可以通過substr函數做下面的代碼

$test_text = "Updated Date: 04-feb-2014 Creation Date: 08-dec-2009 Expiration Date: 08-dec-2021 >>> Last update of whois >>> database: Thu, 21 Apr 2016 03:56:01 GMT"; 

$pos=strrpos($test_text,"Expiration Date")+strlen("Expiration Date: "); 
echo substr($test_text,$pos,11); 
+0

第二個代碼感興趣^^ –

+0

它工作.....? –

相關問題