View Full Version : inserire html in php
danyroma80
07-10-2006, 14:40
Ho il seguente problema, devo inserire una porzione di codice html all'interno di un file php e precisamente tra:
echo ' CodiceHtml ';
il codice html che devo inserire è precisamente questo
<script language="javascript" type="text/javascript">
document.write('<s'+'cript language="javascript" src="http://ad.altervista.org/eccecc'+new Date().getTime()+'"></s'+'cript>');
</script>
Il server restituisce pero' questo errore
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /membri/eccecc.php on line 436
Evidentemente c'è un qualcosa che non va legata agli apici ' del codice html.
Come posso risolvere il problema?
<?php
//tutte cose in php
?>
html
<?php
//tutte cose in php
?>
Fenomeno85
07-10-2006, 16:31
echo "<script language=\"javascript\" type=\"text/javascript\">
document.write('<s'+'cript language=\"javascript\" src=\"http://ad.altervista.org/eccecc'+new Date().getTime()+'\"></s'+'cript>');
</script>";
~§~ Sempre E Solo Lei ~§~
Fenomeno85
07-10-2006, 16:32
<?php
//tutte cose in php
?>
html
<?php
//tutte cose in php
?>
dipende da cosa devi fare .. comunque io di solito uso echo
~§~ Sempre E Solo Lei ~§~
io di solito tengo separate le due cose...cmq sia preferisco proprio tagliare così se deve fare embedded.
Fenomeno85
07-10-2006, 16:54
io di solito tengo separate le due cose...cmq sia preferisco proprio tagliare così se deve fare embedded.
allora preferisco come programmo ... che faccio tutto sotto classi/funzioni e quindi mi torna utile usare echo.
~§~ Sempre E Solo Lei ~§~
Ho il seguente problema, devo inserire una porzione di codice html all'interno di un file php e precisamente tra:
echo ' CodiceHtml ';
il codice html che devo inserire è precisamente questo
<script language="javascript" type="text/javascript">
document.write('<s'+'cript language="javascript" src="http://ad.altervista.org/eccecc'+new Date().getTime()+'"></s'+'cript>');
</script>
Il server restituisce pero' questo errore
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /membri/eccecc.php on line 436
In PHP nelle stringhe "literal" delimitate dall'apice singolo, bisogna effettuare l'escape degli apici singoli contenuti nella stringa. Questo, come puoi immaginare, risulta un po' scomodo e anche noioso.
Ma c'è una alternativa in PHP: usare la sintassi denominata "heredoc".
echo <<<EOT
<script language="javascript" type="text/javascript">
document.write('<s'+'cript language="javascript" src="http://ad.altervista.org/eccecc'+new Date().getTime()+'"></s'+'cript>');
</script>
EOT;
danyroma80
08-10-2006, 11:52
e se volessi fare l'escape di ogni ' cosa devo fare?
Fenomeno85
08-10-2006, 11:57
e se volessi fare l'escape di ogni ' cosa devo fare?
guardare il codice che ti ho messo sopra :D
comunque devi mettere i \ :D
~§~ Sempre E Solo Lei ~§~
danyroma80
08-10-2006, 12:30
guardare il codice che ti ho messo sopra :D
comunque devi mettere i \ :D
~§~ Sempre E Solo Lei ~§~
allora nel mio caso c'è echo ' e quindi dovrei mettere un \ prima di ogni ' appartenente al codice html altrimenti il Php lo interpreta come suo, giusto?
allora nel mio caso c'è echo ' e quindi dovrei mettere un \ prima di ogni ' appartenente al codice html altrimenti il Php lo interpreta come suo, giusto?Esatto.
O utilizzi la sintassi heredoc, come ho già spiegato sopra (e che personalmente trovo molto comoda!) oppure se usi una stringa tra apici singoli, fai l'escape degli apici singoli interni:
echo '<script language="javascript" type="text/javascript">
document.write(\'<s\'+\'cript language="javascript" src="http://ad.altervista.org/eccecc\'+new Date().getTime()+\'"></s\'+\'cript>\');
</script>';
danyroma80
08-10-2006, 13:22
Esatto.
O utilizzi la sintassi heredoc, come ho già spiegato sopra (e che personalmente trovo molto comoda!) oppure se usi una stringa tra apici singoli, fai l'escape degli apici singoli interni:
echo '<script language="javascript" type="text/javascript">
document.write(\'<s\'+\'cript language="javascript" src="http://ad.altervista.org/eccecc\'+new Date().getTime()+\'"></s\'+\'cript>\');
</script>';
ok, grazie a tutti per i consigli
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.