そのまんま!

DOMImplementation->hasFeature()

(no version information, might be only in CVS)

DOMImplementation->hasFeature() --  DOM implementation が、指定した機能を実装しているかどうかを調べる

説明

class DOMImplementation {

bool hasFeature ( string feature, string version )

}

DOM implementation が、指定した機能 feature を実装しているかどうかを調べます。

DOM 仕様の Conformance の節に、すべての機能の一覧があります。

パラメータ

feature

調べる機能。

version

調べる feature のバージョン番号。 DOM level 2 においては、これは 2.0 あるいは 1.0 のいずれかです。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例 1. DOM Implementation を調べる

<?php

$features
= array(
  
'Core'           => 'Core module',
  
'XML'            => 'XML module',
  
'HTML'           => 'HTML module',
  
'Views'          => 'Views module',
  
'Stylesheets'    => 'Style Sheets module',
  
'CSS'            => 'CSS module',
  
'CSS2'           => 'CSS2 module',
  
'Events'         => 'Events module',
  
'UIEvents'       => 'User interface Events module',
  
'MouseEvents'    => 'Mouse Events module',
  
'MutationEvents' => 'Mutation Events module',
  
'HTMLEvents'     => 'HTML Events module',
  
'Range'          => 'Range module',
  
'Traversal'      => 'Traversal module'
);
               
foreach (
$features as $key => $name) {
  if (
DOMImplementation::hasFeature($key, '2.0')) {
    echo
"$name の機能を保持しています\n";
  } else {
    echo
"$name の機能は保持していません\n";
  }
}

?>

参考

DOMNode->isSupported()