我一直在使用 stackoverflow 来学习很多关于 PHP 和 JS(包括 jquery)的知识,所以我一直倾向于谷歌,但我没有找到这个问题的确切答案
我有很多带有数字混合单词的字符串,例如:
“来自 12 人的 60 条评论,20% 的用户”
这是一个示例,但它可能要复杂得多(“word_one 45 word_two word_three 657 word_four 32% word_five USD20”)
用途是内容本地化:
我想检索数字并将它们保存到数组中-> 完成
我想将这些数字与我在数据库中已有的数字相匹配,即如果我有
zh:“来自 2 个人的 2 条评论,2% 的用户”
es:“2 个角色的 2 个评论,el 2% de los usuarios” -> 也完成了
现在我要做的是用原始字符串中的数字替换从数据库中提取的匹配字符串中的数字(它们都是“2”,因为我以这种方式保存它们,以避免复数单数问题)英语。例子:
我有这个英文:
“来自 12 人的 60 条评论,20% 的用户”
我在数据库中有这个:
zh:“来自 2 个人的 2 条评论,2% 的用户”
es:“2 个角色的 2 个评论,el 2% de los usuarios”
我想要这个西班牙语:
“12 个角色的 60 条评论,el 20% de los usuarios”
代码:
$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]);
非常感谢提前!!