trinity-cms-bundles/src/Trinity/Bundle/SearchBundle/Twig/Extension/HighlightExtension.php

31 lines
637 B
PHP

<?php
namespace Trinity\Bundle\SearchBundle\Twig\Extension;
class HighlightExtension extends \Twig_Extension
{
public function getFilters()
{
return array(
'highlight' => new \Twig_Filter_Method($this, 'highlight'),
);
}
public function highlight($sentence, $expr)
{
$expr = explode(' ', $expr);
foreach ($expr as $word) {
$sentence = preg_replace('/(' . $word . ')/i',
'<span class="bold">\1</span>', $sentence);
}
return $sentence;
}
public function getName()
{
return 'highlight_extension';
}
}