PHP 5.3ではXpathを拡張できる

タイトルでは誇張して煽ってみてますが、PHP5.3より前ではXSLTProcessorでしかついてなくて正直へえ(´・∀・`)だった感じのregisterPhpFunctions()がDOMXPathについたことによって超すごいことになってたんですよ奥さん!(私は今頃しった)


Premature Optimization > XPath regular expression matching in PHP 5.3
PHP: DOMXPath::registerPhpFunctions - Manual


詳細は上記リンク先とマニュアル見てもらえば良いんですが、
$domPath->query("//html:a[php:functionString('preg_match', '$regex', @href)> 0]")
て感じで正規表現にマッチするもの取得とか、ユーザー定義関数もレジストできるので複雑なこともできますね!
たしかperlxpathのモジュールでも正規表現が使えるとか見たような気がするんですけど、これでウラヤマシイーとか思うこともなくなりましたー(かな?)