il problema erano gli * all'interno della preg. Perché gli asterischi hanno un significato particolare (che significano "0 o più occorrenze"), quindi se vuoi farli interpretare come caratteri e non come modificatori di criterio devi anteporgli uno backslash:
Codice PHP:$testo="prova /* INIZIO */ciao mamma, come stai?/* FINE */ fine delle prova";
echo "Testo prima delle sostituzioni:
".$testo."
";
echo "
Testo DOPO le sostituzioni:
";
echo preg_replace("#(.*)(/\* INIZIO \*/)(.+)(/\* FINE \*/)(.*)#s","\${1} \${2} qui metti il testo che vuoi sostituire \${4} \${5}",$testo);
così funziona, l'ho provato.
![]()

Rispondi quotando