$keywords = explode("\n",$_POST['keywords']);
//Inserting into Database
foreach($keywords as $key => $keyword){
$keyword = strtolower(trim($keyword));
$keyword = preg_replace("/[^A-Za-z0-9' ]/", "", $keyword);
$keyword = preg_replace("/\s+/", " ", $keyword);
$insertkeywords = "INSERT IGNORE INTO kwdb (keyword) VALUES ('$keyword')";
mysql_query($insertkeywords);
}
次のコードにアポストロフィがあるのに、なぜこのコードがキーワードをデータベースに挿入しないのか、私には一生わかりません。
"/[^A-Za-z0-9' ]/"
しかし、それを削除すると:
"/[^A-Za-z0-9 ]/"
このスクリプトは、レコードをデータベースに挿入します。
私は何をしようとしていますか? フォームにテキストエリアがあります。新しい行のキーワードごとに、\n に基づいて分解します。キーワードから非文字および非数字をすべて削除したいのですが、アポストロフィは削除したくありません。
私は基本的に、すべてのキーワードを小文字にし、先頭、末尾、および余分な空白 (2 つ以上の空白を 1 つに切り詰めたもの) を小文字にして、アポストロフィを除く文字および数字以外の文字を削除したいと考えています。