2011-07-11 8 views
2

CSSファイルから画像へのリンクをすべて検索したい。PHPでCSSファイルから画像へのリンクを抽出する最も良い方法は何ですか?

など。

background-image: url(images/abc123.jpg); 

私はCSS parserと呼ばれるPHPクラスを見つけたが、非常に大規模なAPIを持っていないようです。約より良いCSSパーサーがありますか?

ファイルを解凍した後、ファイル内のリンクを修正できる必要があります。

ありがとうございました。

+0

preg_matchとpreg_replaceを使用できますか?その場合にはかなり簡単な正規表現でなければなりません。 –

+0

唯一の問題は、CSSでイメージURLを指定する方法がたくさんあることです。私は、私のためにすべての努力をする素晴らしいパーサがあることを願っていました。 –

+3

実際にはそれほど多くはありません。すべての画像は.jpg、.gif、または.pngで終わりますか?あなたの正規表現は///./.[png|gif|jpg]/ –

答えて

3
function getImageUrls($input_string) { 
    $matches = array(); 
    preg_match_all('/url\((.+?)\);/i', $input_string, $matches); 
    return preg_replace('/url\((.+?)\);/i', '$1', $matches); 
} 

とにかくそのようなものです。マッチを引き出して、URLパスのみを保持するように書式を設定します。

+1

あなたはまた、配列を実行し、任意の引用符を引っ張ることができます。 – dqhendricks

+2

多くの回の背景イメージがこのように書かれているので、私は式のセミコロンを取り除くことをお勧めします: 'background:url(xxx.png)no-repeat;' –

関連する問題