PHP と JS (jquery を含む) の両方について多くのことを学ぶために stackoverflow を使用してきたため、常に Google で検索する傾向がありますが、この質問に対する正確な回答は見つかりませんでした。
次のように、単語と数字が混在する多くの文字列があります。
「12 人からの 60 件のレビュー、ユーザーの 20%」
これは一例ですが、もっと複雑な場合もあります ("word_one 45 word_two word_three 657 word_four 32% word_five USD20")
用途はコンテンツのローカリゼーションです:
数値を取得して配列に保存したい- >完了
これらの数値を、データベースに既にあるものと照合したい。
ja: "2 人から 2 件のレビュー、ユーザーの 2%"
es: "2 つのペルソナの 2 つのコメント、el 2% de los usuarios" -> やりすぎ
今私がしたいことは、データベースから抽出された一致する文字列の数字を置き換えることです(複数単数の問題を避けるために、この方法で保存したため、すべて「2」です)英語。例:
私はこれを英語で持っています:
「12 人からの 60 件のレビュー、ユーザーの 20%」
私はデータベースにこれを持っています:
ja: "2 人から 2 件のレビュー、ユーザーの 2%"
es: "2 ペルソナの 2 コメント, el 2% de los usuarios"
スペイン語でこれが欲しい:
「12 のペルソナに関する 60 のコメント、20% の損失」
コード:
$pattern = '!\d+!';
$repv = preg_replace($pattern, "2", $v);
preg_match_all($pattern, $v, $matches);
$matchesnb = count($matches, 1);
$pattarray = array_fill("0", "1", array_fill("0", ($matchesnb-1), $pattern));
$reptarget = preg_replace($pattarray, $matches, $dbdata[1]);
よろしくお願いします!