使用 PHP 的 sscanf 读取用户提交的句子并尝试从中获取数据是否合适?例如:
用户输入:
"James is child of Bill"
$child="james"
我想做$parent="bill"
或:"Mary is the mother of kate"
我想做$child="kate"
和$parent="mary"
可能有很多其他可能的句子格式,我必须从中提取数据(不超过 100 种)。
所以我应该使用:
$templates = array("%s is a child of %s","%s is the mother of %s");
$i=0;
$max = count($templates);
while( ($test == -1) && (i < $max) ) {
$test = sscanf($userInput, $templates[i]);
$i++;
}
if(i < $max) {
sscanf($userInput, $templates[i],$child,&parent);//hmm, what if $child,&parent should be the other way around?
} else {
echo "template not found for sentence";
}
? 因此,如您所见,我有点老套,谁能提出更好的方法,或者让这个解决方案发挥作用的方法?
真的很感激!