protected function ignoreNode(DOMNode $node) { if (!parent::ignoreNode($node)) { return $node->nodeName == 'script' || $node->nodeName == 'style' || $node->nodeName == 'textarea'; } return true; }
$highlighter = new sfLuceneHighlighterXML($xml); $highlighter->addKeywords(array($keyword, $keyword2)); $highlighter->highlight(); $t->is($highlighter->export(), $expected, '->highlight() handles entities correctly'); $xml = '<?xml version="1.0" encoding="utf-8"?> <root> <child>hellÆ bäz</child> <child>i am fööbär</child> </root> '; $expected = '<?xml version="1.0" encoding="utf-8"?> <root> <child>hellÆ <s>bäz</s></child> <child>i am <h>fööbär</h></child> </root> '; $keyword = new sfLuceneHighlighterKeywordNamed(new sfLuceneHighlighterMarkerSprint('<h>%s</h>'), 'fööbär'); $keyword2 = new sfLuceneHighlighterKeywordNamed(new sfLuceneHighlighterMarkerSprint('<s>%s</s>'), 'bäz'); $highlighter = new sfLuceneHighlighterXML($xml); $highlighter->addKeywords(array($keyword, $keyword2)); $highlighter->highlight(); $t->is($highlighter->export(), $expected, '->highlight() handles UTF8 characters correctly'); try { $h = new sfLuceneHighlighterXML('<foo>&ddd;<foo></baz></bar>'); $h->highlight(); $t->fail('->highlight() rejects invalid XML'); } catch (Exception $e) { $t->pass('->highlight() rejects invalid XML'); } $highlighter = new sfLuceneHighlighterXML($xml); $t->is($highlighter->__toString(), $xml, 'highlighter implements __toString()');