Bro*_*ke. 6 php class function tropo
我试过谷歌搜索但不确定什么是最好的东西.我想要做的是翻译文本输入以输出按键式电话的字母.例如Hello World,输出43550 96153的想法是我正在尝试使用tropo语音api系统,并希望用户能够输入他们的名称作为按键音值,并将其与他们的名称匹配为我的数据库中的数字.
我假设这可以通过一个函数来完成
$input= $touchtone_value;
$number_two_array (a,b,c);
if( $input==in_array($number_two_array)){
$output = '2';
}
Run Code Online (Sandbox Code Playgroud)
我相信这会奏效.但是,如果有一个类或更简单的功能,而不是将每个字母分成数字数组,我认为这将是一个更好的方法.在这一点上,这是一个相当开放的问题,因为我没有想法从哪里开始作为实现这一目标的最佳方式.
编辑:我找到了一个解决方案,不确定它是最好的解决方案.
$input = strtolower('HELLO WORLD');
echo 'input: '. $input. "\n";
echo $output = 'output: '. strtr($input,'abcdefghijklmnopqrstuvwxyz', '22233344455566677778889999');
input:hello world
output: 43556 96753
Run Code Online (Sandbox Code Playgroud)
现在我只需要找到一种方法来删除空格:) http://codepad.org/Ieug0Zuw
来源:将数字编码成字母
像这样的结构怎么样...注意:这将忽略无效的“字母”,如空格、标点符号等。
现场演示 http://codepad.org/pQHGhm7Y
<?php
echo getNumbersFromText('Hello There').'<br />';
echo getNumbersFromText('This is a really long text string').'<br />';
function getNumbersFromText($inp){
$result=array();
$inp = strtolower($inp);
$keypad = array('a' => '2', 'b' => '2', 'c' => '2', 'd' => '3',
'e' => '3', 'f' => '3', 'g' => '4', 'h' => '4',
'i' => '4', 'j' => '5', 'k' => '5', 'l' => '5',
'm' => '6', 'n' => '6', 'o' => '6', 'p' => '7',
'q' => '7', 'r' => '7', 's' => '7', 't' => '8',
'u' => '8', 'v' => '8', 'w' => '9', 'x' => '9',
'y' => '9', 'z' => '9');
for ($x=0; $x<strlen($inp); $x++){
$letter = $inp[$x];
if ($keypad[$letter]) $result[]= $keypad[$letter];
}
return implode('',$result);
}
?>
Run Code Online (Sandbox Code Playgroud)