Foros del Web » Programando para Internet » PHP »

expresión regular php y src

Estas en el tema de expresión regular php y src en el foro de PHP en Foros del Web. Muy buenas tardes a todos, antes de nada felicitarles por el foro, la verdad que se aprende muchísimo desde estos lares ;D, así que espero ...
  #1 (permalink)  
Antiguo 07/09/2010, 11:29
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 14 años, 3 meses
Puntos: 0
expresión regular php y src

Muy buenas tardes a todos, antes de nada felicitarles por el foro, la verdad que se aprende muchísimo desde estos lares ;D, así que espero que sigan ustedes así de bien ^_^.

Bueno antes de comenzar, comentar únicamente que no ejerzo de programador (aunque estudie algún año, me arrepentí antes de terminar el FP) pero es, digamos, mi hobby, por ello ruego que me disculpen si meto alguna burrada en la aplicación del vocabulario o similares.

Dicho esto os comento cual es mi problema:

Tengo un textarea donde he implementado el WYSIWYG "nicEdit", el contenido de este se envía a través de POST a la variable $descripcionProyectoSinSustituir.

Código PHP:

$descripcionProyecto 
$_POST['descripcionProyecto'];
echo 
$descripcionProyecto
Nota: El echo me devuelve el siguiente contenido:

Código HTML:
<img src="../proyectos/nombre_del_archivo1.jpg" alt="" align="none" height="150" class="nicEdit-img">
<img src="../proyectos/proyectos/nombre_del_archivo2.jpg" alt="" align="none" height="150" class="nicEdit-img">
<img src="../proyectos/nombre_del_archivo3.jpg" alt="" align="none" height="150" class="nicEdit-img"> 
Seguidamente busco el atributo scr de las etiquetas img que existen en el contenido de dicha variable (o lo que es lo mismo en el textarea ya comentado) a través de una expresión regular (
Código PHP:
$buscaSrcImagenes '/<img.*?src=["\'](.*?)["\']/s'
),aplicando "prg_match_all" seguido de un foreach para crear un string concatenando los resultados en una variable, que posteriormente envío a la base de datos (con mysql), para utilizarla en la home con js.

Código PHP:

$buscaSrcImagenes 
'/<img.*?src=["\'](.*?)["\']/s';
if (
preg_match_all($buscaSrcImagenes $descripcionProyecto$imagenesArrayInicio)){
    foreach (
$imagenesArrayInicio[1] as $image) {
        
$image substr_replace($image'',013);
        
$image substr($image0, -4);
        
$imagenes[] = $image;
        
$concatenar .= $imagenes[$i]."|";
        
$i++;
    };

    
$concatenar substr($concatenar0, -1);
    
$totalNumeroProyectos $i;
};
echo 
$concatenar;
echo 
$totalNumeroProyectos
Sin embargo, al mostrar el valor de $concatenar o $totalNumeroProyectos (con echo) no muestra ningún resultado, lo que debería mostrar debería ser:

nombre_del_archivo1|nombre_del_archivo2|nombre_del _archivo3

He probado utilizando diferentes expresiones escritas, utilizando [URL="http://gskinner.com/RegExr/"]RegExr[/URL], algunas de estas pruebas han sido (por si sirven de orientación de lo que he intentado):

Código PHP:
src=["](http://.*?)["]
[
"\']path_completo/(.*?)["]
<
img.*?src=["\'].*?["]
<
img.*?src=["](http://.*?)["
... 
El problema está en que ya no se donde está realmente el error, si en la expresión regular (puesto que cuando las pruebo en [URL="http://gskinner.com/RegExr/"]RegExr[/URL] me sale como seleccionado el atributo scr de las etiquetas img. O es a causa de otro tipo de error en la aplicación del preg_match_all ...

Si me pudieran ayudar, os lo agradecería enormemente
  #2 (permalink)  
Antiguo 07/09/2010, 11:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 7 meses
Puntos: 1517
Respuesta: expresión regular php y src

Estos son los temas que me gusta ayudar, porque han hecho la tarea de buscar y tratar de resolver el problema, pero lo trataste de explicar detalladamente y sinceramente me pierdo en la explicación. Podrías replantear de otra forma, aunque voy a hacer el intento de leerlo bien

Edito:
Creo que entendí a la décimo septima vez que lo leí, trata de esta forma
Código PHP:
Ver original
  1. <?php
  2. $s = '<img src="http://www.forosdelweb.com/f18/proyectos/nombre_del_archivo1.jpg" alt="" align="none" height="150" class="nicEdit-img">
  3. <img src="http://www.forosdelweb.com/f18/proyectos/proyectos/nombre_del_archivo2.jpg" alt="" align="none" height="150" class="nicEdit-img">
  4. <img src="http://www.forosdelweb.com/f18/proyectos/nombre_del_archivo3.jpg" alt="" align="none" height="150" class="nicEdit-img">';
  5. preg_match_all('/src="(.*?)"/is', $s, $m);
  6. echo implode("|", $m[1]);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 07/09/2010 a las 11:42
  #3 (permalink)  
Antiguo 11/09/2010, 05:37
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: expresión regular php y src

Muy buenas tardes de nuevo, muchisimas gracias abimaelrc fue perfecto ;D, mira que no caer en el implode ^_^ y con lo fácil que era la expresión regular y yo complicándome la vida. Muchas gracias de verdad.

Por otra parte, siento muchisimo el hacerte tanto leer, la próxima iré más al grano ^_^.

Etiquetas: expresiones, img, regulares, src
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 12:14.