2010-07-06 4 views
0

Я пытаюсь добавить пробел между любыми переданными числами. В принципе, если $var2 был 1028 Я хочу, чтобы он добавил пространство, чтобы оно стало 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

+0

Что означает «пройденный» здесь? – Matchu

+0

Это работает прямо сейчас, но я в основном использую это для текста в речь. Когда он передается как 1028, он говорит одну тысячу двадцать восемь, когда я хочу, чтобы он сказал один-нуль-два-восемь. То, что я имею в виду, передается в форме submit, оно получается из полей формы. – user1875332

ответ

0

Вот быстрая функция, которая сделает вашу жизнь намного проще.

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

Чтобы использовать его, вы просто выполняете; $var2 = preg_add($var2, '/([0-9])/', '${1} ');

+0

У вас есть дополнительное пространство в конце, хотя ... – Matchu

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

Нам все равно нужно проверить, что 'var2' является целым числом. – Matchu

+0

Это все равно нужно будет проверять, независимо от метода, используемого для разделения символов. –

+0

+1, очень умное решение –

0
for ($i = 2; $i <= 5; $i++) 
{ 
    $val = $_GET["var" . $i]; 
    $pattern = '/\d/g'; 
    $replacement = '${1} '; 
    $newVal = preg_replace(pattern, replacement, $val); 
} 
Смежные вопросы