Originariamente inviato da Donald
Il problema è che ho richiamato il contenuto della pagina tramite
Codice PHP:
$parte_comune = file_get_contents("comune.html");
e sembra che ci siano problemi a fare rimpiazzi di parti di testo contenenti apici.
Sarebbe più pratico (e più elegante) dire a PHP:
1) Trova una riga in cui compare la parola "button"
2) Verifica se su quella riga compare la parola $pagina
3) In caso affermativo sostituisci il "button" su quella riga con "curbutton"
Eviterei così le virgolette e avrei una cosa che si capisce, a costo di avere paio di istruzioni in più.
C'è modo di fare questo?
Una possibile soluzione
Codice PHP:
// suddivide $parte_comune in "righe" come hai chiesto
$righe = explode("\r\n",$parte_comune);
// Analizza ogni singola riga
foreach($righe as $key=>$value)
{
// vefica che la stringa contenuta in $pagina e la stringa "button" siano nella riga
if((strpos($pagina,$value) !== false and strpos("\"button\"",$value) !== false)
{
// sostituisce nella riga "button" con "curbutton"
$righe[$key] = str_replace("\"button\"","\"curbutton\"",$value);
}
}
// Ricrea la stringa risultato partendo dall'array
$parte_comune_risultato = implode("\r\n",$righe);
Tutto sta nel sostituire il doppio apice " con \" quando viene usato a sua volta all'interno di doppi apici oppure (ancora più semplice) utilizzare gli apici singoli
Codice PHP:
$righe[$key] = str_replace('"button"','"curbutton"',$value);