2017-04-18 64 views

回答

0

在不使用爆炸和內爆

$string = "04/19/2017, 04/20/2017, 04/26/2017, 04/28/2017"; $string = "'".str_replace(", ","','",$string)."'";

0
$string = "04/19/2017, 04/20/2017, 04/26/2017, 04/28/2017"; 
$array = explode(", ", $string); 
$string = "'".implode("','", $array)."'"; 
0

爲了您的具體的例子,你可以使用:

$result = preg_replace('%([\d/]+)%sim', '"\1"', $string); 

輸出:

"04/19/2017", "04/20/2017", "04/26/2017", "04/28/2017" 

Regex的說明:

([\d/]+) 

Match the regex below and capture its match into backreference number 1 «([\d/]+)» 
    Match a single character present in the list below «[\d/]+» 
     Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+» 
     A 「digit」 (any decimal number in any Unicode script) «\d» 
     The literal character 「/」 «/» 

"\1" 

Insert the character 「"」 literally «"» 
Insert the text that was last matched by capturing group number 1 «\1» 
Insert the character 「"」 literally «"» 

Demo

+0

你可以添加你的正則表達式的解釋嗎? – aynber

+0

當然可以,更新。 –

+0

你可以正確地格式化你的正則表達式解釋 –

1
<?php 
// dates in a string 
$data = '04/19/2017, 04/20/2017, 04/26/2017, 04/28/2017'; 

// break them apart into array elements where the , is 
$dates = explode(',', $data); 


/* You then have array of dates you can use/display how you want, ie:: */ 
foreach($dates as $date){ 
    echo $date. '<br/ >'; 
} 

/* OR select single date */ 
echo $dates[0];