Cita:
Hola a todos como estaís [textbox-texto resaltado-500-200] proximamente tendreís más noticias [galeria-ruta_galeria-500-200]
Lo que estoy intentando hacer y ya ni se que más vueltas darle , es transformar los corchetes con sus contenidos a galerías o áreas diferenciadas , en el caso de la galería se incluiría una función que leyese la propia galería y la mostrase y en el otro caso un area de texto remarcada
La cuestión es como se puede utilizar la función str_replace para sustituir caracteres por funciones o similar , he utilizado preg_replace_callback y preg_match_all pero no funcionan o si pero alteran lo que es el texto normal poniendo al principio las galerías y despues el texto en vez de ir sustituyendo en el orden adecuado
Código PHP:
<?php
$string = "Hola todos os presento una nueva galeria [galt~imagenes/articulos~100~100~4] Aqui otra más [gal~imagenes/productos~100~100~3]";
$regex = "/\[(.*?)\]/";
preg_match_all($regex, $string, $matches);
for($i=0; $i<count($matches[1]);$i++)
{
$match = $matches[1][$i];
$array = explode('~', $match);
//$newValuet="gal("".$array[1]."","".$array[2]."","".$array[3]."","".$array[4]."")";
$newValue="gal(".$array[1].",".$array[2].",".$array[3].",".$array[4].")";
$string = str_replace($matches[0][$i],$newValue,$string);
}
echo $string;
?>
El problema estaría en sustituir los datos que coinciden por las funciones :
$string = str_replace($matches[0][$i],$newValue,$string);
O sino alguna alternativa yo ya le he dado mil vueltas pero no veo forma , una cosa es sustituir caracteres pero otra como poner galerías por ejemplo para mostrar lo que queremos o insertar una función , debe haber alguna forma de mostrar una función al detectar un caracter
Rogaría eso si que como en otros posts pasásemos a lo práctico , he mirado todas las funcionalidades y las he probado de mil maneras y no dudo que se pueda hacer , pero al menos a mi se me escapa con las expresiones regulares como hacerlo , muchas gracias
Muchas gracias a todos