Togliere un codice a video

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
In un file esterno ho una serie di codici e poi richiamo tutto il file con include,
però in certe pagine non deve essere richiamato solo questo codice <span class="menu1a">Prodotto3</span> ma deve essere sostituito da un altro così <script type="text/javascript">codice1();</script>, str_replace non funge
 
Ultima modifica:
ciao
perchè dici che non funzia?
se guardi la pag di questo script con "sorgente pagina" vedi che è stato rimpiazzato
PHP:
<?php
$da_mod="<span class=\"menu1a\">Prodotto3</span>";
$con = "<script type=\"text/javascript\">codice1();</script>";
$stampa=str_replace($da_mod,$con,$da_mod);
echo $stampa;
?>
forse non ti funzia perche non hai messo la \ davanti agli apici interni alla stringa, oppure sostituisci i doppi apici con i singoli
PHP:
<?php
$da_mod="<span class='menu1a'>Prodotto3</span>";
$con = "<script type='text/javascript'>codice1();</script>";
$stampa=str_replace($da_mod,$con,$da_mod);
echo $stampa;
?>
 
Così funziona però non devo stampare

PHP:
<?php 
$da_mod="<script type=\"text/javascript\">codice1();</script>"; 
$con ="<span class=\"menu1a\">Produzione</span>"; 
$stampa=str_replace($da_mod,$con,$da_mod); 
echo $stampa; 
?>

devo solamente sostituire i 2 codici, io a video ho questo <script type="text/javascript">codice1();</script> ma lo devo solo sostituire con questo <span class=\"menu1a\">Produzione</span>
 
prova con htmlentities()
PHP:
$da_mod = "<script type=\"text/javascript\">codice1();</script>";
$con = "<span class=\"menu1a\">Produzione</span>";
$stampa = htmlentities(str_replace($da_mod, $con, $da_mod));
echo $stampa;
 
ciao
per prima cosa intendiamoci cosa si intende per "stampa".
il codice che ti ho postato io NON stampa a video, ma all'inteno del codice html della pagina, tant'è vero che per vederlo devi usare "visualizza sorgente"
quello che ti ha detto criric probabilmente serve per visualizzarlo a video.
ricordati che una delle prerogative di php è creare codice html e il codice html non lo vedi tutto a video.
es.
se scrivo
PHP:
echo "<br>";
non vedo a video <br> ma solo il salto di riga (il <br> lo vedo con visualizza sorgente)
 
Non volevi stampare il codice a video?

htmlentities evita che il codice venga interpretato
 
Non volevi stampare il codice a video?

htmlentities evita che il codice venga interpretato

Forse non ho spiegato bene io: siccome il mio sito ha una ventina di pagine ho pensato di eliminare i codici da tutte le pagine e metterne solo uno esterno che poi richiamo in ogni pagina, questo mi permette di fare una modifica sola invece che farlo in tutte le pagine.

Però il problema è che tutte le pag richiamano lo stesso identico codice.

Io devo fare in modo che ogni pag richiami un suo link personale, è per quello che lo devo sostituire con quello "standard"

ES:

Pagina esterna con i codici standard

link-codice1 rosso
link-codice2 verde
link-codice3 nero

in ogni singola pagina metto il richiamo <?php include("pagina_esterna.php"); ?>

devo trasformare il codice standard con il suo personale

link pag 1 deve diventare verde
link pag 2 deve diventare nero
link pag 3 deve diventare rosso
 
Ultima modifica:
ciao
allora forse un sistema è
nella pag 1 metti (nella 2, 3....)
PHP:
<?php
$num_pag=1;//=2, =3,......
include "pagina_esterna.php";
//...eccetera
?>
nella pagina_esterna.php o con if o switch
PHP:
<?php
//....
switch($num_pag){
	case 1: //esegui codice 1
	break;
	case 2: //esegui codice 2
	break;
	//ecc.....
}
//....
?>
oppure, nella pagina_esterna.php, anche con un array
PHP:
<?php
$cod=array(" ","<span class=\"menu1a\">Produzione</span>", "<script type=\"text/javascript\">codice1();</script>");
//...
?>
e nella pagina
PHP:
<?php
include "pagina_esterna.php";
echo $cod[1];//$cod[2],$cod[3].....
//...eccetera
?>
cioè in pratica devi individuare la pag in cui richiami ed in funzione far eseguire la parte di codice che ti interessa
 
Non so ma non funziona

file esterno.php

PHP:
<?php
switch($num_pag) { 
    case 1: <script type="text/javascript">Production();</script> 
    break; 
    case 2: <span class="menu1a">Produzione</span>
    break; 
} 
?>

Pagina

PHP:
<?php
 $num_pag=1;
 include("CODICI-EXT.php"); ?>
 ?>
 
ciao
per forza non funzia, se quello è il codice da attribuire alle varie pagine devi fare
PHP:
<?php
switch($num_pag) { 
    case 1: echo "<script type=\"text/javascript\">Production();</script>":
    break; 
    case 2: echo "<span class=\"menu1a\">Produzione</span>";
    break; 
} 
?>
del resto lo vedi anche dallo script che hai postato che c'è qualcosa che non funzia se guardi i colori delle parole
 
ciao
per forza non funzia, se quello è il codice da attribuire alle varie pagine devi fare
PHP:
<?php
switch($num_pag) { 
    case 1: echo "<script type=\"text/javascript\">Production();</script>":
    break; 
    case 2: echo "<span class=\"menu1a\">Produzione</span>";
    break; 
} 
?>
del resto lo vedi anche dallo script che hai postato che c'è qualcosa che non funzia se guardi i colori delle parole
Ok, bene ;)
 

Discussioni simili