Foros del Web » Programando para Internet » PHP »

Sustituir número X por otro que yo quiera

Estas en el tema de Sustituir número X por otro que yo quiera en el foro de PHP en Foros del Web. Buenas necesito crear un script que me modifique el width="xxx" por la medida que yo quiera. A lo único que he llegado es a esta ...
  #1 (permalink)  
Antiguo 17/04/2009, 05:00
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Sustituir número X por otro que yo quiera

Buenas necesito crear un script que me modifique el width="xxx" por la medida que yo quiera. A lo único que he llegado es a esta forma:

$texto_modificado = str_replace ("width='xxx'", "width='450'", $texto);

Pero lo que no sé es si existe algún carácter comodín o algo parecido, porque yo no sé que width tendra la variable.

Gracias de antemano!!
  #2 (permalink)  
Antiguo 17/04/2009, 07:07
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Sustituir número X por otro que yo quiera

Cita:
Iniciado por manolo_manolo Ver Mensaje
Pero lo que no sé es si existe algún carácter comodín o algo parecido, porque yo no sé que width tendra la variable.
esto no lo entendi muy bien si lo explicas mejor estaria bien, pero pues si lo quieres hacer dinamico seria con una variable php seria asi

width="<? echo $variable; ?>"

ya sea que esa variable la introduzcas o se genere por un procedimiento
  #3 (permalink)  
Antiguo 17/04/2009, 07:56
 
Fecha de Ingreso: junio-2007
Mensajes: 189
Antigüedad: 16 años, 10 meses
Puntos: 3
Respuesta: Sustituir número X por otro que yo quiera

Cita:
Iniciado por manolo_manolo Ver Mensaje
Buenas necesito crear un script que me modifique el width="xxx" por la medida que yo quiera. A lo único que he llegado es a esta forma:

$texto_modificado = str_replace ("width='xxx'", "width='450'", $texto);

Pero lo que no sé es si existe algún carácter comodín o algo parecido, porque yo no sé que width tendra la variable.

Gracias de antemano!!
Si la web ya esta impresa tienes k usar javascript

Sino, pues usa dom

Código PHP:
$doc = new DOMDocument();
$doc->loadHTML($image);
$new_image =  $doc->saveHTML(); 
No se utilizar muy bien DOM, pero se que lo puedes hacer, igual con SetAttribute o algo asi
  #4 (permalink)  
Antiguo 17/04/2009, 08:29
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Sustituir número X por otro que yo quiera

A ver, me explico.

En un formulario tengo un campo para meter el código de videos de youtube para meterlo en la base de datos. Pero cada video de youtube tiene unas dimensiones diferentes, quiero que antes de guardar el código en la bd modifique el alto y el ancho del código youtube, porque quiero mostrarlos luego con el mismo ancho y el mismo alto todos los videos.

Si el código de youtube es: "<object width="560" height="340">..." quiero que el código se cambie por ejemplo a: "<object width="400" height="300">...".

Lo del carácter comodín lo digo porque yo desconozco el width y height que tendrán los vídeos.

En resumen, alguna forma que convierta width="***" height="***" a width="400" height="300".

(*** -> número que desconozco)
  #5 (permalink)  
Antiguo 17/04/2009, 08:40
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Sustituir número X por otro que yo quiera

Cita:
Iniciado por manolo_manolo Ver Mensaje
A ver, me explico.

En un formulario tengo un campo para meter el código de videos de youtube para meterlo en la base de datos. Pero cada video de youtube tiene unas dimensiones diferentes, quiero que antes de guardar el código en la bd modifique el alto y el ancho del código youtube, porque quiero mostrarlos luego con el mismo ancho y el mismo alto todos los videos.

Si el código de youtube es: "<object width="560" height="340">..." quiero que el código se cambie por ejemplo a: "<object width="400" height="300">...".

Lo del carácter comodín lo digo porque yo desconozco el width y height que tendrán los vídeos.

En resumen, alguna forma que convierta width="***" height="***" a width="400" height="300".

(*** -> número que desconozco)
asi mas o menos checalo y di si funciono

str_replace('width="XXX"', 'width="400"', <object width="400" height="300">)
  #6 (permalink)  
Antiguo 17/04/2009, 09:13
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Sustituir número X por otro que yo quiera

Buenas, gracias por responder pero las X no es un caracter comodín, no funciona.
  #7 (permalink)  
Antiguo 17/04/2009, 09:14
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 2 meses
Puntos: 20
Respuesta: Sustituir número X por otro que yo quiera

se que se deberia usar algo de preg_replace() pero no manejo bien los patrones..

hasta aca llegue pero no funciona:
Código PHP:
<?php 
$texto
='nose width="584" height="254" algo';
$busqueda = array ('/width="N"/','/height="N"/'); 
$reemplazar=array('width="200"','height="300"');
$texto preg_replace($busqueda$reemplazar$documento);
echo 
"<pre>";
echo 
$texto;
echo 
"</pre>";
?>
lei algo de los modificadores de patron aca:
http://www.php-es.com/reference.pcre...modifiers.html

pero no logro entender todavia
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #8 (permalink)  
Antiguo 17/04/2009, 09:20
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Sustituir número X por otro que yo quiera

ok ya entendi es dinamico la parte del width entons si tendrias que hacerlo con preg_replace y expresiones regulares
  #9 (permalink)  
Antiguo 17/04/2009, 09:38
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 2 meses
Puntos: 20
Respuesta: Sustituir número X por otro que yo quiera

alguien que sepa como hacer con preg_replace() ?

no me sale el patron, y tengo el mismo problema...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #10 (permalink)  
Antiguo 17/04/2009, 09:41
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Sustituir número X por otro que yo quiera

...

Talvez,

/width="([0-9]+)"/
  #11 (permalink)  
Antiguo 17/04/2009, 09:42
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Sustituir número X por otro que yo quiera

Ahi es donde voy yo farra, si donde N se pudiera poner algún carácter comodín o que signifique cualquier número... Lo he estado leyendo pero no saco nada en claro. Lo único que se me ocurre es poniendo un Array pero debería poner cientos de arrays desde el 100 hasta el 500 o 600 en mi caso, y eso seria demasiado código para lo que se quiere conseguir...

$busqueda = array ('/width="N"/','/height="N"/');
  #12 (permalink)  
Antiguo 17/04/2009, 09:44
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Sustituir número X por otro que yo quiera

Código php:
Ver original
  1. <?php
  2.  
  3. $texto = "width=\"480\" adasdasd sda sdaso dnsa ";
  4.  
  5. echo preg_replace("/width=\"([0-9]+)\"/i", "width=\"400\"", $texto);
  6.  
  7. ?>
  #13 (permalink)  
Antiguo 17/04/2009, 09:45
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 2 meses
Puntos: 20
Respuesta: Sustituir número X por otro que yo quiera

listo!!! ya logre resolverlo:

Código PHP:
<?php 
$texto
='nose width="584" height="254" algo';
$busqueda = array ('@width=".*?"@si','@height=".*?"@si'); 
$reemplazar=array('width="300"','height="500"');
$texto preg_replace($busqueda$reemplazar$texto);
echo 
"<pre>";
echo 
$texto;
echo 
"</pre>";
?>
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #14 (permalink)  
Antiguo 17/04/2009, 09:59
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Sustituir número X por otro que yo quiera

Sois unos cracks!! Funcionan los dos códigos, gracias!! llevaba ya horas con ello. Me quedo con el de Ronruby sólo por que el código es más ligero pero igualmente funcionan ambos.

Gracias!!!!!
  #15 (permalink)  
Antiguo 17/04/2009, 19:18
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Sustituir número X por otro que yo quiera

Hola de nuevo, funcionaban usandolo asignando el valor a la variable yo mismo como: $texto='nose width="584" height="254" algo';, pero me ha surgido que no funciona si el texto viene de una variable desde un formulario javascript, no me funciona con ninguno de los dos códigos...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:39.