PHP - sumar con el comando preg_replace

 
Vista:

sumar con el comando preg_replace

Publicado por Alex Gonzalez (19 intervenciones) el 11/08/2010 03:31:00
Hola, de ante mano te agradesco por interesarte en mi post...

quiero encontrar unos numero y hacer una operacion matematica lo llevo a mi parecer por la mitad necesito una pequeña ayuda he buscado y no encuentro nada...

lo que tengo es...

$suma = 10;
$cadena = "Z-INDEX: 7; WIDTH: 301px; HEIGHT: 150px; TOP: 338px; LEFT: 93px";
print preg_replace("/HEIGHT: (\d+)px;/", "HEIGHT: ".('\\1')." + ".$suma ." = " . (('\\1' + $suma)) . "Px;", $cadena) . "\n";

quiero que al HEIGHT le sume 10 mas, osea que me devulva 160, pero... no funciona me devuelve

Código :

Z-INDEX: 7; WIDTH: 301px; HEIGHT: 150 + 10 = 10Px; TOP: 338px; LEFT: 93px

se que me falta alguna bobada pero no se que es...

sin mentirles llevo Horas buscando en internet y nada

Gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:sumar con el comando preg_replace

Publicado por Andres (52 intervenciones) el 11/08/2010 15:22:33
Hola Alex,

lo que se me ocurre es:

$cadena = "Z-INDEX: 7; WIDTH: 301px; HEIGHT: 150px; TOP: 338px; LEFT: 93px";
preg_match("/height\:(.*?)px;/is",$cadena,$arr);
$val = $arr[1]+10;
echo preg_replace("/height\:(?:.*?)px;/is","height:".$val."px;",$cadena);

Saludos
Andrés
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:sumar con el comando preg_replace

Publicado por Alex Gonzalez (19 intervenciones) el 12/08/2010 10:41:28
hola men Gracias pero encontre un pequeño problema je ej ej y es que si tengo dos Height y cada uno tiene un valor diferente le coloca a los dos el mismo valor :(

ayudame, creo que es lo ultimo....

$cadena = "Z-INDEX: 7; WIDTH: 301px; HEIGHT: 150px; TOP: 338px; LEFT: 93px;HEIGHT: 138px; HEIGHT: 250px; ";

aqui esta el problema si le digo +10 a todos le devuelve 160 :( y lo ideal seria que devolviera 160 148 y 260 es lo ultimo en lo que te molesto Gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:sumar con el comando preg_replace

Publicado por Andres (52 intervenciones) el 13/08/2010 13:59:40
Alex, no entiendo como vas a utilizar la cadena de estilos, ya que si es para un atributo, siempre se tomará el último height que aparezca. Se entiende?

de todas formas te paso lo que estás buscando:

// Ojo con las mayusculas y minusculas

$cadena = "Z-INDEX: 7; WIDTH: 301px; HEIGHT: 150px; TOP: 338px; LEFT: 93px;HEIGHT: 138px; HEIGHT: 250px; ";
preg_match_all("/height\:(.*?)px;/is",$cadena,$arr);

$reemp = array();
foreach($arr[0] as $v){
$val = preg_replace("/HEIGHT\:(.*?)px;/is","$1",$v);
$reemp[$v] = "HEIGHT:".($val+10)."px";
}
$cadena_nueva = strtr($cadena,$reemp);
echo $cadena_nueva;

Saludos.
Andrés
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar