コード例 #1
0
 protected function ignoreNode(DOMNode $node)
 {
     if (!parent::ignoreNode($node)) {
         return $node->nodeName == 'script' || $node->nodeName == 'style' || $node->nodeName == 'textarea';
     }
     return true;
 }
コード例 #2
0
$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()');