2009-09-23 1 views
0

У меня есть строка, которая обычно начинается с нескольких пробелов, когда строки находятся в столбцах, и используйте моноширинный шрифт, чтобы выстроить строки. Я хочу проверить, не первый ли символ пробела (или даже первое, что не является пробелом), и посмотреть, является ли это числом. Каков наименее ресурсоемкий способ сделать это?Как я могу получить первый небелый пробел в строке, используя php

ответ

3

Вы можете использовать trim() (или ltrim() в данном случае), чтобы удалить пробелы и использовать доступа к массиву строк:

$line = ltrim($line); 
is_numeric($line[0]); 
0
$first = substr(trim($string), 0, 1); 
$is_num = is_numeric($first); 
return $is_num; 
1

Вы можете использовать регулярное выражение:

if (preg_match('/^\s*(\S)/m', $line, $match)) { 
    var_dump($match[0]); 
} 

Или вы удалите пробелы в начале, а затем получите первый символ:

$line_clean = ltrim($line); 
var_dump(substr($line_clean, 0, 1)); 
+1

Было бы неплохо, чтобы получить комментарий о том, почему мой ответ был отвергнут. – Gumbo

+0

Разговор о вопиющем «стратегическом downvoting». Sheesh. –

-1

Try RegEx:

$Line = ...; 
preg_match('/^[:space:]*(.)/', $Line, $matches); 
$FirstChar = $matches[0]; 
1
if (preg_match('/^\s*\d/', $line)) { 
    //^ starting at the beginning of the line 
    // \s* look for zero or more whitespace characters 
    // \d and then a digit 
} 
Смежные вопросы