Les comento lo que estoy haciendo.
Tengo una variable $contenido la cual tiene texto e imágenes.
Lo que quiero hacer es remplazar las imágenes por un texto (ej texto aquí una imagen)
Hasta aquí lo comentado es la idea general.
Bien pero hay dos detalles que me están volviendo loco…
Primer detalle…
Cada imagen tiene el nombre de una persona. Ej juan.jpg por lo que yo quiero cambiar la imagen por el siguiente texto “esta es la imagen de juan…”
Pero este script... como quiero que sea dinámico puede tener muchas imágenes juan.jpg pedro.jpg manuel.jpg con sus respectivos nombres y textos a remplazar.
Entonces cree una base de datos donde guardo solo el nombre de la imagen sin jpg y el texto por el que debería remplazar
Aquí muestro la tabla
CREATE TABLE `nombres` (
`id` int(11) NOT NULL auto_increment,
`nombre` varchar(50) NOT NULL,
`texto` varchar(250) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
--
-- Volcar la base de datos para la tabla `nombres`
--
INSERT INTO `nombres` VALUES (1, 'pedro', 'texto de pedro');
INSERT INTO `nombres` VALUES (2, 'juan', 'texto de juan');
INSERT INTO `nombres` VALUES (3, 'Manuel', 'texto de Manuel');
Bien entonces al tener una base de datos con los nombres hice esto
$consulta="SELECT * FROM nombres ";
$resultado=mysql_query($consulta);
while($row=mysql_fetch_array($resultado))
{
$nombre=$row["nombre"];
$texto=$row["texto"];
$parser1='|<img (.*?)'.$nombre.'(.*?) />|is';
// remplazo
$contenido=preg_replace($parser1,"XXXXX ".$texto." XXXXXXX",$contenido);
}
echo $contenido;
pero no funciona…
y les digo bien cual es el error de este script
si tengo este contenido
$contenido='
<p>
<img style="float: left;" src="img/juan.jpg" alt="" />
El diseño gráfico es una profesión cuya actividad es la acción de concebir, programar, proyectar y realizar comunicaciones visuales, producidas en general por medios industriales y destinadas a transmitir mensajes específicos a grupos sociales determinados. Esta es la actividad que posibilita comunicar gráficamente ideas, hechos y valores procesados y sintetizados en términos de forma y comunicación, factores sociales, culturales, económicos, estéticos y tecnológicos. También se conoce con el nombre de “diseño en comunicación visual”, debido a que algunos asocian la palabra gráfico únicamente a la industria gráfica, y entienden que los mensajes visuales se canalizan a través de muchos medios de comunicación, y no solo los impresos.
</p>
<p style="text-align: center;">
<img src="img/Manuel.jpg" alt="" />
</p>
<p>
Dado el crecimiento veloz y masivo en el intercambio de información, la demanda de diseñadores gráficos es mayor que nunca, particularmente a causa del desarrollo de nuevas tecnologías y de la necesidad de prestar atención a los factores humanos que escapan a la competencia de los ingenieros que las desarrollan.
</p>
<p style="text-align: center;">
<img src="img/fer.jpg" alt="" />
</p>
<p>
<img src="img/pedro.jpg" alt="" />
</p>';
si tengo eso solo me muestra esto al darle echo al contenido
XXXXX Nombre: pedro XXXXXXX
No muestra el texto ni nada… solo muestra esto…
Que estoy haciendo mal?
Les dejo el código en limpio y después les comento el segundo detalle el cual posiblemente no me funciona por culpa del primero…
Código PHP:
$contenido='
<p>
<img style="float: left;" src="img/juan.jpg" alt="" />
El diseño gráfico es una profesión cuya actividad es la acción de concebir, programar, proyectar y realizar comunicaciones visuales, producidas en general por medios industriales y destinadas a transmitir mensajes específicos a grupos sociales determinados. Esta es la actividad que posibilita comunicar gráficamente ideas, hechos y valores procesados y sintetizados en términos de forma y comunicación, factores sociales, culturales, económicos, estéticos y tecnológicos. También se conoce con el nombre de “diseño en comunicación visual”, debido a que algunos asocian la palabra gráfico únicamente a la industria gráfica, y entienden que los mensajes visuales se canalizan a través de muchos medios de comunicación, y no solo los impresos.
</p>
<p style="text-align: center;">
<img src="img/Manuel.jpg" alt="" />
</p>
<p>
Dado el crecimiento veloz y masivo en el intercambio de información, la demanda de diseñadores gráficos es mayor que nunca, particularmente a causa del desarrollo de nuevas tecnologías y de la necesidad de prestar atención a los factores humanos que escapan a la competencia de los ingenieros que las desarrollan.
</p>
<p style="text-align: center;">
<img src="img/fer.jpg" alt="" />
</p>
<p>
<img src="img/pedro.jpg" alt="" />
</p>';
$consulta="SELECT * FROM nombres ";
$resultado=mysql_query($consulta);
while($row=mysql_fetch_array($resultado))
{
$nombre=$row["nombre"];
$parser1='|<img (.*?)'.$nombre.'(.*?) />|is';
// remplazo
$contenido=preg_replace($parser1,"XXXXX Nombre: ".$nombre." XXXXXXX",$contenido);
}
echo $contenido;