Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/09/2011, 06:12
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Duda con preg_replace (highlight)

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
  1. <?php
  2. function highlightedText($text, $search) {
  3.     return preg_replace('/(' . $search . ')/i', '<span class="highlighted">$1</span>', $text);
  4. }
  5.  
  6. $str = 'Lorem ipsum dolor sit amet, conSECtetUR adipiscing elit. Ut non dui odio. Sed hendrerit consequat leo, in tristique magna mollis ut.';
  7. 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
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 02/09/2011 a las 06:33