1

使用 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";
}

? 因此,如您所见,我有点老套,谁能提出更好的方法,或者让这个解决方案发挥作用的方法?

真的很感激!

4

1 回答 1

0

欢迎来到图论领域。我不认为你可以用句子模板解决你的问题。幸运的是,这里已经在 SO 上讨论了一个类似的主题。有关该讨论,请参阅此主题如何在图形数据库(如 Neo4j)中建模真实世界的关系?

于 2012-07-01T04:56:00.223 回答