PHP - Reemplazar cadena comprendida entre dos cadenas

 
Vista:

Reemplazar cadena comprendida entre dos cadenas

Publicado por jose (1 intervención) el 15/08/2018 11:17:00
buenas a todos, tengo un problema a ver si me podéis echar una mano.

Tengo una cadena en la que delimito su contenido mediante unas etiquetas, en este caso mediante
<!--inicio1--> y <!--fin1-->

Entre esos dos comentarios hay texto que me gustaría poder cambiar algunos días, sin tener que tocar el resto.

Ejemplo creo un registro con el campo:

<!--inicio1-->TEXTO DE PRUEBA <!--fin1-->

pues al día siguiente me gustaría sólo cambiar el contenido interior por otro.

¿alguna idea para hacerlo lo más simple posible?

Gracias.
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
Imágen de perfil de Raúl
Val: 20
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Reemplazar cadena comprendida entre dos cadenas

Publicado por Raúl (4 intervenciones) el 15/08/2018 20:14:13
Podrías usar algo como
1
2
3
4
$bodytag = str_replace(<QUERY_EJ. "%body%">, <REEMPLAZO_EJ "black">,<ARCHIVO_O_CADENA_A_EDITAR);
// Algo aplicado a tu caso
$bodytag = str_replace("%body%","Texto de prueba","<!--inicio1-->%body%<!--fin1-->");
echo $bodytag;
Y ligarlo el texto a reemplazar con algo en una BD, o si es en BD directo, podrías hacer un Query e imprimir el dato modificado...
También podrías usar DOM para alterar esas etiquetas, algo como
1
2
3
$doc = new DOMDocument();
$doc->loadHTMLFile("tuArchivo.html");
$doc->getElementsByTagName("etiquetaMOD")->item(0)->nodeValue = $TuTexto;

Una referencia https://stackoverflow.com/questions/6001923/how-to-replace-the-text-of-a-node-using-domdocument
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar