Me perdí con lo que quieres hacer. Si por ejemplo tienes esta oración
Cita: Lorem ipsum dolor sit amet, conSECtetUR adipiscing elit. Ut non dui odio. Sed hendrerit consequat leo, in tristique magna mollis ut.
Y yo quiero buscar
consectetur ¿tú quieres que salga como? ¿Así?
Cita: Lorem ipsum dolor sit amet, conSECtetUR adipiscing elit. Ut non dui odio. Sed hendrerit consequat leo, in tristique magna mollis ut.
¿o así?
Cita: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut non dui odio. Sed hendrerit consequat leo, in tristique magna mollis ut.
¿o así?
Cita: Lorem ipsum dolor sit amet, CONSECTETUR adipiscing elit. Ut non dui odio. Sed hendrerit consequat leo, in tristique magna mollis ut.
Edito: Añado, no hace lógica que uses
strtolower si la expresión regular le estás diciendo que sea case insensitive.
Ahhh ya caigo con lo que quieres hacer, es sencillo
Código PHP:
Ver original<?php
function highlightedText($text, $search) {
return preg_replace('/(' . $search . ')/i', '<span class="highlighted">$1</span>', $text); }
$str = 'Lorem ipsum dolor sit amet, conSECtetUR adipiscing elit. Ut non dui odio. Sed hendrerit consequat leo, in tristique magna mollis ut.';
echo highlightedText($str, 'consectetur'); // Imprime Lorem ipsum dolor sit amet, <span class="highlighted">conSECtetUR</span> adipiscing elit. Ut non dui odio. Sed hendrerit consequat leo, in tristique magna mollis ut.
Con eso logras el que te aparezca como está originalmente en el texto.
Te recomiendo esta lectura
http://www.php.net/manual/en/regexp....ubpatterns.php