Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/04/2008, 16:36
Avatar de gabrielflowers
gabrielflowers
 
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: como buscar(con expresiones regulares) en una cadena, y reemplazarlo?

haciendo muchas pruebas la funcion preg_replace() me resulto efectiva para lo que buscaba, evidentemente esta funcion busca(con expresiones regulares) en una cadena y reemplaza, tal como plantee, mas sin embargo la funcion ereg_replace() tiene un comportamiento anormal (quizas por que trabaja con el estandar POSIX Extendido)

y pongo el codigo como referencia para quien lo necesite:
Código PHP:
$path=$path.'lang/'
 
$ext='.txt'
 
$sep='<==>'
 
$lang_file=$path.$lang.$ext;//es el directorio del archivo 
if(file_exists($lang_file))//si el archivo existe

  
$nl=chr(13).chr(10);//caracteres delimitadores del texto a buscar 
  
$lang_content=file_get_contents($lang_file);//contenido del archivo 
  
$lang_content=preg_replace('/'.$palabra.' +'.$sep.' +(.*)'.$nl.'/',$palabra.' <==> '.$traduccion.$nl,$lang_content); 
  
$f=fopen($lang_file,'w');//abre el archivo para escritura 
  
fwrite($f,$lang_content);//escribir en el archivo 
  
fclose($f);//cerramos el archivo 
 
echo 'modificado!';
 } 
gracias a todos, saludos