文字列から数値を抽出したいのですが、文字列は1,239 peoples
. 1239
上記の文字列からの出力が必要です。その数を抽出するために、次の安価な方法を使用しました....
$text='1,239 peoples';
$text=str_replace(',','',$text);
preg_match_all('!\d+!', $text, $matches);
echo $matches[0][0];
そのためのより良い解決策はありますか..事前に感謝します...
文字列内の数値ではないものはすべて何も置き換えずに、数値だけの文字列が得られます。
$string = preg_replace("/[^\d]/", "", $string);
echo $string;
より安全な方法は、最初に必要なものを抽出し、適切な形式を指定した後でのみ抽出することです。例:
if (preg_match('~\d+(?:,\d+)*(?:\.\d+)?~', $string, $match))
$result = str_replace(',', '', $match[0]);