2015-05-02 25 views
-2
  1. 假设我有一组的方式格式化字符串:

270 | in-profit.biz |考试| 3 | 2012年10月27日00:00:00 ||只是为了测试如何在两个日期之间获取数据?

379|yourhourly.com|Yourhourly.com|3|2015-03-11 00:00:00||101% After 
1 Hour<br> How do i get value like as: 

$value1 = 270 

$value2 = in-profit.biz 

$value3 = test 

$value4 = 3 
每一行的

回答

0

您可以使用preg_match()

$string = "270|in-profit.biz|test|3|2012-10-27 00:00:00||just for test"; 
preg_match_all('/(.*?)\|(.*?)\|(.*?)\|(.*?)\|/i', $string, $matches, PREG_PATTERN_ORDER); 
$value1 = $matches[1][0]; 
$value2 = $matches[2][0]; 
$value3 = $matches[3][0]; 
$value4 = $matches[4][0]; 


echo $value1; 
echo $value2; 
echo $value3; 
echo $value4; 

输出:

270 
in-profit.biz 
test 
3 

Demo


或者您可以使用explode()

$string = "270|in-profit.biz|test|3|2012-10-27 00:00:00||just for test"; 

$matches = explode('|', $string); 

$value1 = $matches[0]; 
$value2 = $matches[1]; 
$value3 = $matches[2]; 
$value4 = $matches[3]; 


echo $value1; 
echo $value2; 
echo $value3; 
echo $value4; 

输出:

270 
in-profit.biz 
test 
3 

Demo

+1

请不要建议'split()'OP!它已被弃用。我认为'preg_split()'在这里会更好。 – Rizier123

0

如果有像

$str = 'aaa|bbb|ccc|ddd|eeeee|fffffff' 

或通过|分离任何设置值的字符串,可以把它分解使用split()像这样

$results = split('\|', $str); 

这会给你字符串的数组你将能够与

$results[0] = 'aaa' 
$results[1] = 'bbb' 
... 
$results[5] = 'fffffff' 
+0

你需要逃离'|' –

+0

Merci beaucoup! –

相关问题