2012-02-07 16 views
8

que he hecho algo similar con el uso de este str_replace:realizar preg_replace múltiple con diferentes búsquedas y reemplazar cada vez

$string = $url; 
$patterns = array(); 
    $patterns[0] = 'searchforme'; 
    $patterns[1] = 'searchforme1'; 
    $patterns[2] = 'searchforme2'; 
$replacements = array(); 
    $replacements[0] = 'replacewithme'; 
    $replacements[1] = 'replacewithme1'; 
    $replacements[2] = 'replacewithme2'; 
$searchReplace = str_replace($patterns, $replacements, $string); 

¿Cómo hago para hacer algo similar con preg_replace?

He construido una muy simple y pequeño analizador CSS que busca para una etiqueta específica dentro de un comentario envuelto alrededor de las propiedades CSS, y lo reemplaza con nuevos datos.

$stylesheet = file_get_contents('temp/'.$user.'/css/mobile.css'); 

$cssTag = 'bodybg'; 
$stylesheet = preg_replace("/(\/\*".$cssTag."\*\/).*?(\/\*\/".$cssTag."\*\/)/i", "\\1 background: $bg url(../images/bg.png) repeat-x; \\2", $stylesheet); 

file_put_contents('temp/'.$user.'/css/mobile.css',''.$stylesheet.''); 

que tienen múltiples "cssTag" 's y todo lo que necesitaremos css única para reemplazar con (fondo, color, tamaño de fuente, etc.) por lo que estoy buscando un método como el str_replace uno arriba.

Respuesta

28

preg_replace puede tomar una gran variedad al igual que str_replace

$string = 'I have a match1 and a match3, and here\'s a match2'; 
$find = array('/match1/', '/match2/'); 
$replace = array('/replace1/', '/replace2/'); 
$result = preg_replace($find, $replace, $string); 
+0

Gracias por eso. A pesar de que tengo problemas para volver a escribir mi trabajo preg_replace en el OP en este nuevo formato. ¿Alguna posibilidad de algo de ayuda? – tctc91

+0

Nvm - Lo he arreglado :) – tctc91

Cuestiones relacionadas