2010-07-06 35 views
0

我试图在传递的任何数字之间添加空格。基本上如果$var21028我希望它添加一个空间,以便它变成1 0 2 8。我只希望它为数字添加它,而不是字母。我只需要它就可以在var2 - var5之上完成,而且没有任何问题。任何帮助是极大的赞赏!谢谢!将数字空间添加到数字

$apikey = $_GET['apikey']; 
$campaign = $_GET['campaign']; 
$phone = $_GET['number']; 
$delay = $_GET['delay']; 
$name = $_GET['var1']; 
$var2 = $_GET['var2']; 
$var3 = $_GET['var3']; 
$var4 = $_GET['var4']; 
$var5 = $_GET['var5']; 
+1

你有你已经开始不工作什么? – spinon 2010-07-06 21:57:03

+0

这里的“传过来”是什么意思? – Matchu 2010-07-06 21:57:38

+0

它现在正常工作,但我基本上是用这个来发短信。当它以1028的形式传递时,它表示一千二百八十八时我希望它说一二二八。我的意思是通过表单提交,它来自表单字段。 – user1875332 2010-07-06 22:00:58

回答

0

这是一个快速的功能,它会让你的生活变得更轻松。

function preg_add($content, $regex, $replace = '${1}') { 
    return trim(preg_replace($content, $regex, $replace)); 
} 

要使用它,你只需做; $var2 = preg_add($var2, '/([0-9])/', '${1} ');

+0

尽管你有一个额外的空间,尽管... – Matchu 2010-07-06 22:00:24

3
$var2 = implode(' ',str_split($_GET['var2'])); 
+0

虽然我们仍然必须检查'var2'是一个整数。 – Matchu 2010-07-06 22:08:43

+0

无论如何,仍然需要检查,无论用于分割字符的方法如何。 – 2010-07-06 22:18:30

+0

+1,非常聪明的解决方案 – 2010-07-06 22:43:13

0
for ($i = 2; $i <= 5; $i++) 
{ 
    $val = $_GET["var" . $i]; 
    $pattern = '/\d/g'; 
    $replacement = '${1} '; 
    $newVal = preg_replace(pattern, replacement, $val); 
}