以前、zencart サイトグループの記述内容にキーワードを結び付けたいと思ったのですが、キーワードが多すぎたので、この機能を自動で実行するプログラムを書きたいと思ったのですが、PHP 言語を本格的に学習したわけではありません。ということで、ネット上の情報を参考に自分で関数を作成してみました
関数 zen_key_replace($str){
$array_first = array(
array('2012 新作 UGG ブーツ','link1.html'),
array('黒いアグブーツ','link2.html'),
array('安いuggブーツ','link3.html'),
array('最も安いuggブーツ','link4.html'),
array('割引uggブーツ','link5.html'),
array('女の子用アグブーツ','link6.html'),
array('グレーのアグブーツ','link7.html'),
array('アグブーツ','link8.html')
);
$array_last = array();
foreach($array_first as $key=>$value){
$array_last[$key] = array('TFXS00'.$key, $value[0], ''.$value[0].'');
}
$count = count($array_last);
for($i=0; $i
for($j=$count-1; $j>$i; $j--){
//次の要素の長さが前の要素より長い場合は、位置を入れ替えます
If(strlen($array_last[$j][1]) > strlen($array_last[$j-1][1])){
$array_last[$j] = $array_last[$j-1];
$array_last[$j-1] = $tmp;
}
}
}
$keys=$array_last;
foreach($keys as $nkeys){
$str= str_ireplace($nkeys[1], $nkeys[0], $str);
}
foreach($keys as $nkeys){
$str= str_ireplace($nkeys[0], $nkeys[2], $str);
}
$str;
を返します
}
例: www.2cto.com
$str = "今日は 2012 年 1 月 9 日です。ugg ブーツのウェブサイト、SEO は女の子向けの検索エンジン最適化です。ugg boots、css+div、Photoshop、Flash、HTML、CSS、Dreamweaver、Fireworks、ASP、PHP、JSP、ASP .NET ";
echo zen_key_replace(stripslashes($str)); //記事のコンテンツが出力されるこの関数を呼び出します。 $str は記事のコンテンツです
?>
1 つ目は、長いキーワードが優先される配列の並べ替えです。これは、関連する短いキーワードが先頭にある場合、長いキーワードは置き換えられないためです。ugg ブートが最初に置き換えられた場合、ugg ブートのセールは TFXS008 のセールになります。正常に置き換えられません
次に、最初に TFXS001 に置き換えるのは、2 回目の置き換えで、ugg boots などの頻繁に出現するキーワードによって何度も置き換えられないようにするためです。 。 2012年の新作UGGブーツの状況と似ています。 。
上記のように、この関数はまだ単純すぎるように感じます。置換番号制御を追加したり、キーワードを書き込んでデータベースにデータをリンクしたりすることもできます。引き続き頑張ります。