PHP извлечь текст, разделенный точкой - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть тексты в формате:

123232.23

43438282.00

Я хочу извлечь и сохранить их в две переменные $ доллар и $ цент.

Желаемый результат будет следующим для первого текста:

$dollar = '123232'

$cent = '23'

Как мне добиться этого , используя регулярное выражение в PHP.

Ответы [ 3 ]

7 голосов
/ 21 ноября 2011

почему бы просто не использовать взорвать с списком

list($dollar, $cent) = explode('.', $text);
3 голосов
/ 21 ноября 2011

Вот регулярное выражение для этого:

$regex = '~^(?P<dollar>\d+)\.(?P<cent>\d+)$~';

if (preg_match($regex, $number, $matches)) {
  //$matches['dollar']
  //$matches['cent']
}
1 голос
/ 21 ноября 2011

Вы можете использовать простую функцию разнесения для нее, если у вас есть только отдельные строки, но если у вас есть несколько цифр в текстовом файле и вы хотите извлечь их, вы сделаете что-то вроде этого ниже.Для первого разделителя я использовал символ новой строки `\ n.Вы можете изменить его на то, что вам подходит.

$s = <<<ABC
123232.23
43438282.00
3333.66
ABC;

$arr = explode("\n", $s);
print_r($arr);
$exarr = array();
foreach($arr as $arv){
    $exarr[] = explode(".", $arv);
}

print_r($exarr);

Это проанализирует каждую или цифры и выведет что-то похожее на это ниже:

Array
(
    [0] => 123232.23
    [1] => 43438282.00 
    [2] => 3333.66
)
Array
(
    [0] => Array
        (
            [0] => 123232
            [1] => 23
        )

    [1] => Array
        (
            [0] => 43438282
            [1] => 00 
        )

    [2] => Array
        (
            [0] => 3333
            [1] => 66
        )

)
...