3

css ファイル内からすべてのパスを抽出する正規表現を見つけようとしています。検索したところ、実際には機能していないように見えるこれらの2つの投稿しか見つかりませんでした。

PHP - CSS から画像パスを抽出する

この PHP 正規表現が CSS 値から URL を抽出しないのはなぜですか?

私が取得したいのは、次のような配列です。

array(0 => 'image/header.gif', 1 => 'image/footer.png') etc.

それを抽出するための正規表現が何であるかについてのアイデア - 文字間に空白がない場合や、url() の開き括弧と閉じ括弧の間に余分なスペースがある場合があることに注意してください。

私は以下を使用してcssを処理し、パスを抽出しています(しかし、明らかに、私が望む方法でそれを行うための正しい式がありません):

$images = array();                  
if (preg_match_all($regex, $cssContent, $matches)) {
    $images = $matches[1];
}
4

2 に答える 2

5

整理しました。知りたい方のために、css ファイルから画像へのすべてのパスを抽出する式を次に示します。

'/url\(\s*[\'"]?(\S*\.(?:jpe?g|gif|png))[\'"]?\s*\)[^;}]*?/i'
于 2012-06-26T21:31:18.760 に答える
1

このようなもの、私は想像します:

/url\s*\(\s*['"]([^'"]+)['"]\s*\)/
于 2012-06-26T21:28:57.233 に答える