我一直在使用stackoverflow来了解很多关于PHP和JS(包括jquery)的知识,所以我倾向于谷歌所有的时间,但我没有找到这个问题的确切答复从字符串中提取数字,将它们保存到数组中,并将它们放回到字符串中
我有与数字混合,喜欢的话许多字符串:
“12人60条评论中,20%的用户”
这是一个但它可以更复杂(“word_one 45 word_two word_three 657 word_four 32%word_five USD20”)
使用为内容的本地化:
我要检索的号码,并将其保存到一个数组- >完成
我想匹配这些数字与我已经在数据库中,也就是说,如果我已经
恩: “从2人2条评论中,用户的2%”
ES: “2名住客评语2名人物角色,EL 2%德洛斯USUARIOS” - >做得太
现在我想要做的是替换从数据库中提取的匹配字符串中的数字(它们都是“2”,因为我以这种方式保存它们以避免复数奇异问题)原始英文字符串。 例子:
我有这个英文:
“从12人,20%的用户有60条评论” 我有这个数据库:
于: “2人评价,2%的用户”
es:“2人评2人使用,2%使用者使用”
我想这在西班牙语:
“60个住客评语12个角色,EL 20%德洛斯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]);
非常感谢事先!
您描述了您正在处理的内容,显示了代码片段(其他变量已定义)。现在,你介意问一个问题吗? – 2012-12-05 02:58:22
嗨,问题是“我想用西班牙语”;)它不是很清楚..我只是添加了一个缺少的$模式变量。 – Julien
你正在做一个简单的文本到文本的映射翻译,这意味着两个文本中的数字都没有意义,只需要按照固定的顺序进行替换即可。任何你可以使用的机会,比如%%%people,%perc%users的'%reviews%%评论'作为模板,所以你可以拥有“有意义的”数字,并且当你想要编辑句子时容易得多。 – Passerby