簡體   English   中英

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

[英]How to get value from string using preg_match php?

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

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

我試圖測試我的代碼,但無法正常工作。 (不回顯任何內容並顯示錯誤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 省略正則表達式中的""
2 您沒有在正則表達式的末尾添加“ /
3 將“ 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);
?>

工作實例

您可以像使用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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM