私はウェブサイトの変換に取り組んでいます。これには、画像とメディア ファイルのディレクトリ構造の標準化が含まれていました。さまざまなタグからパス情報を解析して標準化し、新しい標準化された場所にメディアが存在するかどうかを確認し、存在しない場合はそこに置きます。そのために文字列操作を使用しています。
これは少し自由ですが、頭の痛い問題を解決するために使用できるクラス、ツール、または概念はありますか? たとえば、sudirectory ( website.com/subdir/dir/page.php
) 内のページに相対イメージ パス ( ../images/image.png
) がある、またはこのような他の種類の問題が発生しています。全体的な問題が 1 つあるというわけではありませんが、多くの小さな問題が積み重なっているだけです。
ほとんどのケースをカバーするスクリプトを作成したと思うと、Could not find file at export/standardized_folder/proper_image_folderimage.png
where it should beのようなエラーが発生しますexport/standardized_folder/proper_image_folder/image.png
。文字列の解析と、ディレクトリの区切り記号が適切な場所にあることを確認するためのチェックを行って、私を怒らせるようなものです。
1 回限りのインポート スクリプトを非常に堅牢にするために、あまりにも多くの作業を行っているように感じます。おそらく、誰かがすでにこの混乱を再利用可能な方法で解きほぐしており、それを私が利用できるのでしょうか?
追記:より詳細なスクープを次に示します。ページの 1 つの「タイプ」を解析し、同じ種類のページからコンテンツを取得するスクリプトを作成します。次に、別の種類のページを解析するようにスクリプトを変更し、エラーのすべての種類を取得し、パスがどのように参照されるかについてのすべての仮定を窓の外に放り出す必要があることを学びます。洗って、すすいで、繰り返します。
そのため、スクリプトの主要なリファクタリングを行い、すべての仮定を捨て、パス情報をチェック、再チェック、およびダブルチェックすることを検討しています。私は本当に堅牢なパス構築スクリプトを構築しようとしているので、車輪の再発明を避けることができれば幸いです。そこに車輪はありますか?