質問:
メソッドを探していますPHP で CSS ファイルを解析し、名前に「postclass」を含む各クラス名を抽出します。必要な出力は、これらのクラス名の配列です。
解決策:
正規表現の使用:
次の PHP関数は通常のタスクを使用してタスクを実行します式:
function parse($file){ $css = file_get_contents($file); preg_match_all( '/(?ims)([a-z0-9\s\.\:#_\-@,]+)\{([^\}]*)\}/', $css, $arr); $result = array(); foreach ($arr[0] as $i => $x){ $selector = trim($arr[1][$i]); if (strpos($selector, 'postclass') !== false) { $result[] = $selector; } } return $result; }
使用法:
$css = parse('css/'.$user['blog'].'.php'); print_r($css); // Output: ["#content.postclass-subcontent", "#content2.postclass-subcontent2"]
この関数は CSS ファイルを解析し、一致するクラス名を $result 配列に保存します。次に、配列を返します。
Ajax と jQuery の使用:
別のアプローチでは、Ajax と jQuery を使用して CSS ファイルをフェッチし、必要なクラスを抽出します。
$(function () { $.get('main.css', function (data) { data = data.match(/(#[a-z0-9]*?\ .?postclass.*?)\s?\{/g); if (data) { $.each(data, function (index, value) { value = value.substring(0, value.length - 2); $(value.split(' .')[0]).wrapInner('<div class="' + value.split('.')[1] + '" />'); }); } }); });
このコードは CSS ファイルをフェッチし、「postclass」を含むクラス名を抽出してラップします。 CSS クラスに基づいて要素を DIV と照合します。
以上がPHP を使用して CSS ファイルから「postclass」を含むクラスを抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。