Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/12/2009, 10:49
Avatar de dggluz
dggluz
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: obtener la palabra buscada del texto original..

Cita:
Iniciado por Hidek1 Ver Mensaje
eso deberia funcionar.. solo cambiale el /mi por /s
ya que el dijo que tenia q respetar mayuscula y minuscula.. y la s para que te reemplaze todas y no solo la primera :B
saludos!
Tenía entendido que con los modificadores que puse debería funcionar:
  • El "i" le dice que reemplace siempre, no importa si coinciden mayúsculas y minúsculas, pero el reemplazo lo hará por lo que vaya encontrando... sino ¿cómo haces con las expresiones regulares más complejas? En otras palabras, la "i" es sólo para que "matchee" sin distinguir mayúsculas y minúsculas.
  • El "m" es para que busque en todas las líneas (no entiendo cuál es la diferencia con el "s").
Es una expresión regular que modifiqué de un método de la clase "container" de la librería "PHPRTFLite", por eso confío en que debería funcionar. ¡Suerte!

PD: el método original de la clase:
Código PHP:
    function writeText($text, &$font, &$parFormat$replaceTags true) {                
        
$text str_replace('\\''\\\\'$text);
        
$text str_replace("\r\n""\r\n".'\par '$text);
        
        if (!empty(
$replaceTags)) {
            
//bold        
            
$text preg_replace("/<STRONG[ ]*>(.*?)<\/STRONG[ ]*>/mi""\\b \\1\\b0 "$text);
            
$text preg_replace("/<B[ ]*>(.*?)<\/B[ ]*>/mi""\\b \\1\\b0 "$text);        
            
//italic
            
$text preg_replace("/<EM[ ]*>(.*?)<\/EM[ ]*>/mi""\\i \\1\\i0 "$text);
            
$text preg_replace("/<I[ ]*>(.*?)<\/I[ ]*>/mi""\\i \\1\\i0 "$text);        
            
//underline
            
$text preg_replace("/<U[ ]*>(.*?)<\/U[ ]*>/mi""\\ul \\1\\ul0 "$text);        
            
//break
            
$text preg_replace("/<BR[ ]*(\/)?[ ]*>/mi""\\line "$text);
            
$text preg_replace("/<CHDATE[ ]*(\/)?[ ]*>/mi""\\chdate "$text);
            
$text preg_replace("/<CHDPL[ ]*(\/)?[ ]*>/mi""\\\chdpl "$text);
            
$text preg_replace("/<CHDPA[ ]*(\/)?[ ]*>/mi""\\chdpa "$text);
            
$text preg_replace("/<CHTIME[ ]*(\/)?[ ]*>/mi""\\chtime "$text);
            
$text preg_replace("/<CHPGN[ ]*(\/)?[ ]*>/mi""\\chpgn "$text);
            
$text preg_replace("/<CHPGM[ ]*(\/)?[ ]*>/mi""\\par \\page "$text);
            
            
$text preg_replace("/<TAB[ ]*(\/)?[ ]*>/mi""\\tab "$text);
            
$text preg_replace("/<BULLET[ ]*(\/)?[ ]*>/mi""\\bullet "$text);
            
            
$text preg_replace("/<PAGENUM[ ]*(\/)?[ ]*>/mi""\\chpgn "$text);
            
$text preg_replace("/<SECTNUM[ ]*(\/)?[ ]*>/mi""\\sectnum "$text);
            
            
$text preg_replace("/<LINE[ ]*(\/)?[ ]*>/mi""\\line "$text);
            
$text preg_replace("/<PAGE[ ]*(\/)?[ ]*>/mi""\\page "$text);
            
$text preg_replace("/<SECT[ ]*(\/)?[ ]*>/mi""\\sect"$text);    
        }    
                    
        
$text Util::utf8Unicode($text);        
        
//content formating
        
$content = (is_a($parFormat'ParFormat') && count($this->elements) != && empty($this->emptyPar)) ? '\par ' '';    
        
$this->emptyPar false;      
        
$content .= is_a($parFormat'ParFormat') ? $this->pard.$parFormat->getContent($this->rtf) : '';                         
        
$content .=    '{';
        if (
is_a($font'Font')) {
            
$content .= $font->getContent($this->rtf);            
        }                
        
$content .= $text.'}'."\r\n";
                
        
$this->elements[] = $content;        
    }