2010-12-28 18 views
1

まず、状況に関する背景を説明します。 私は約56kページを含むウェブサイトを持っており、各ページには機械部品の地図スケッチが含まれています。この機械部品は、画像内に輪郭が描かれ、特定の数を保持するより小さい部品で作られている。数字の上にマウスを置くと、部品アイテムコードのボックスが表示されます。画像内の画像に応じてHTMLページの名前を変更してください

私はこのアイテムコードに従って部品を注文しますが、最近多くのアイテムコードが変更されていますので、私は解決策を探しています。

私はすべての56k部品のデータを持つデータベースを所有しており、部品の名前(データベースの列)に応じて関連するWebページを各レコードにリンクしたいのですが、ウェブページの名前にはパーツ名には何らかの形で接続できるロジック名はありませんが、ページに表示されるイメージにはパーツの正確な名前が付いています。

表示されている画像に従って表示されているすべてのhtmlファイルの名前を変更します。手動ですべての56kページの名前を変更せずにどのように達成できますか?

上記のすべてが完了した後、さらにどのようにすべての56kページへのリンクを自動的にデータベースに追加できますか?

ご了承いただきありがとうございます。

+0

部品名は一意ですか?各パーツにグローバルに一意の名前が付いていることを保証できない限り、そのパーツを表すページのファイル名として使用しないでください。その場合は、代わりにパーツテーブルの主キー(自動インクリメントint?)を使用する必要があります。 –

+0

私が正しく理解していれば、Webサーバーのディレクトリをhtmlファイルとしてスキャンし、各ファイルのイメージ名とそれが指すURLを抽出してイメージ名と古いhtmlファイル名の対応表を作成しますか? – mplungjan

+0

はい各パーツの名前は一意です(正確には名前ではなく、コードそのもの(例:E106)) "正しく理解すれば、Webサーバーのディレクトリをhtmlファイルと各ファイルイメージ名とそれが指しているURLを抽出し、イメージ名と古いhtmlファイル名との対応表を作成しますか? - mplungjan "正確に – Jake

答えて

1

あなたは* nixのシェルを持っている場合は、簡単なegrepはあなたがはるかに

egrep "<img src=\".*\"" -r . > list 

regexpはあなたがコースの探している部分と一致するように適応されなければならないでしょう。

結果のリストを簡単に検索/置換して、すべての名前を変更するバッチスクリプトを作成できます。

+0

これについて詳しく教えていただけますか? "nix shell"、 "egrep"、 "regexp"とは何ですか?スクリプトでどのくらい正確に実装されますか? – Jake

+0

* nixはUNIX、Linuxなどの略で、シェルはあなたとマシンの間のレイヤーです。egrepは、正規表現(文字のパターン)をファイルで検索するツールです。regexpは正規表現の略であり、特定のツール以上の概念です。 私は多分、あなたが多くの仕事を節約するので、この問題を見てみるのにもっと経験豊富な人を迎え入れるべきだと考えています。 –

0

お気に入りのスクリプト言語を選択し、各HTMLファイルを解析して、ファイルの名前を変更する際に使用するイメージ名を探します。個人的に私はPerlを使って、ファイルを解析し、同時にURLを使ってデータベースを更新するので、は簡単です。

+0

私にいくつかの例を教えてもらえますか?私はちょっとこれに困惑しています...プログラミングに多くの経験がないことを覚えておいてください – Jake

+0

基本的には、あなたが手動で実行する必要があると説明したタスクを自動化するプログラムを書くことができます。このプログラムは、任意の言語で書かれているか、または各ツールを使用して各HTMLファイルを読み込み、見つけた画像リンクに基づいて名前を変更し、htmlのURLを参照してデータベースを更新します。 「迅速な」スクリプトはスクリプト言語自体の知識を必要とするため、プログラミング経験が不足しているように思えます。 – tawman

関連する問題