我不确定这是不是一个合适的网站,但我在这里。
我想从一个电子商务网站创建一个通用的产品列表。例如,如果我这样写:
Acer Aspire X 4GB RAM ---- $400
Acer Aspire X 4GB RAM ---- $410
Acer Aspire X 4GB RAM ---- $420
Acer Aspire X 2GB RAM ---- $350
Apple macbook X 8GB RAM ---- $1400
Apple macbook X 6GB RAM ---- $1200
Apple macbook X 6GB RAM ---- $1220 (notice that some products can be repeated here)
我需要通过分类信息来得到这个:
1- Acer Aspire X 4GB
2- Acer Aspire X 2GB
3- Acer macbook 8GB
4- Acer macbook 6GB
那么,我应该使用什么样的技术呢??
提前感谢!!
现在我使用php,但我认为它可以写在任何语言
如果你正在使用PHP,你可以尝试使用和增强我使用过的功能。它不是很先进,还会有更好的方法。例如,这个函数逐个单词比较,但你也可以逐个字母比较。如果你有大量的产品,那么你可能会遇到问题,因为你需要将所有的产品相互比较。然而,最好和最快的方法可能是使用SQL和也许全文搜索。
php代码:
function getSimilarStart($s1, $s2) {
$split1 = explode(' ', $s1);
$split2 = explode(' ', $s2);
$starta = array();
$start = '';
foreach ($split1 as $k => $v) {
if (isset($split2[$k]) && $v == $split2[$k] && $start == substr($s2, 0, strlen($start))) {
$starta[] = $v;
$start = join (' ', $starta);
} else {
return $start;
}
}
return $start;
}