You are on page 1of 6

PHP: Salir de HTML - Manual

http://php.net/manual/es/language.basic-syntax...

Downloads
Documentation
Get Involved
Help

Search
PHPKonf: Istanbul PHP Conference 2017
Getting Started
Introduction
A simple tutorial
Language Reference
Basic syntax
Types
Variables
Constants
Expressions
Operators
Control Structures
Functions
Classes and Objects
Namespaces
Errors
Exceptions
Generators
References Explained
Predefined Variables
Predefined Exceptions
Predefined Interfaces and Classes
Context options and parameters
Supported Protocols and Wrappers
Security
Introduction
General considerations
Installed as CGI binary
Installed as an Apache module
Session Security
Filesystem Security
Database Security
Error Reporting
Using Register Globals
User Submitted Data
Magic Quotes
Hiding PHP
Keeping Current
Features
HTTP authentication with PHP
Cookies
Sessions
Dealing with XForms
Handling file uploads
Using remote files
Connection handling
Persistent Database Connections
Safe Mode
Command line usage
Garbage Collection
DTrace Dynamic Tracing
Function Reference

1 de 6

14/01/17 10:37

PHP: Salir de HTML - Manual

http://php.net/manual/es/language.basic-syntax...

Affecting PHP's Behaviour


Audio Formats Manipulation
Authentication Services
Command Line Specific Extensions
Compression and Archive Extensions
Credit Card Processing
Cryptography Extensions
Database Extensions
Date and Time Related Extensions
File System Related Extensions
Human Language and Character Encoding Support
Image Processing and Generation
Mail Related Extensions
Mathematical Extensions
Non-Text MIME Output
Process Control Extensions
Other Basic Extensions
Other Services
Search Engine Extensions
Server Specific Extensions
Session Extensions
Text Processing
Variable and Type Related Extensions
Web Services
Windows Only Extensions
XML Manipulation
GUI Extensions
Keyboard Shortcuts
?
This help
j
Next menu item
k
Previous menu item
gp
Previous man page
gn
Next man page
G
Scroll to bottom
gg
Scroll to top
gh
Goto homepage
gs
Goto search
(current page)
/
Focus search box
Separacin de instrucciones
Etiquetas de PHP
Manual de PHP
Referencia del lenguaje
Sintaxis bsica
Change language:

Spanish

Edit Report a Bug

Salir de HTML

2 de 6

14/01/17 10:37

PHP: Salir de HTML - Manual

http://php.net/manual/es/language.basic-syntax...

Cualquier cosa fuera de un par de etiquetas de apertura y cierre es ignorado por el intrprete de
PHP, lo que permite que los ficheros de PHP tengan contenido mixto. Esto hace que PHP pueda ser
embebido en documentos HTML para, por ejemplo, crear plantillas.
<p>EstovaaserignoradoporPHPymostradoporelnavegador.</p>
<?phpecho'Mientrasqueestovaaserinterpretado.';?>
<p>EstotambinserignoradoporPHPymostradoporelnavegador.</p>

Este ejemplo funciona como estaba previsto, porque cuando PHP intercepta las etiquetas de cierre
?>, simplemente comienza a imprimir cualquier cosa que encuentre (a excepcin de un una nueva
lnea inmediatamente despus; vase la separacin de instrucciones) haste que d con otra etiqueta
de apertura a menos que se encuentre en mitad de una sentencia condicional, en cuyo caso el
intrprete determinar el resultado de la condicin antes de tomar una decisin de qu es lo que
tiene que saltar. Vea el siguiente ejemplo.
Empleo de estructuras con condiciones
Ejemplo #1 Salida avanzada usando condiciones
<?phpif($expresin==true):?>
Estosemostrarsilaexpresinesverdadera.
<?phpelse:?>
Encasocontrariosemostraresto.
<?phpendif;?>

En este ejemplo, PHP saltar los bloques donde la condicin no se cumpla, incluso si estn fuera de
las etiquetas de apertura/cierre de PHP, los saltar segn la condicin debido a que el intrprete
salta los bloques contenidos dentro de una condicin que no se cumpla.
Para imprimir bloques de texto grandes, es ms eficiente abandonar el modo intrprete de PHP que
enviar todo el texto a travs de echo o print.
En PHP 5 existen hasta cinco pares de etiquetas de apertura y cierre diferentes, dependiendo de la
configuracin de PHP. Dos de estas, <?php ?> y <script language="php"> </script>, siempre estn
disponibles. Tambin existe una etiqueta echo abreviada, <?= ?>, que siempre est disponible en PHP
5.4.0 y posteriores.
Las otras dos son las etiquetas abreviadas y las etiquetas al estilo de ASP. De por s, aunque algunos
encuentran prcticas, las etiquetas abreviadas y las etiquetas al estilo ASP son menos portables, no
recomendndose por lo general.
Nota:
Observe tambin que si se est embebiendo PHP dentro de XML o XHTML ser necesario
usar las etiquetas <?php ?> para seguir los estndares.
PHP 7 elimina el soprte para las etiquetas ASP y <script language="php">. Por tanto, para maximizar la
compatibilidad, se recomienda solamente el empleo de <?php ?> y <?= ?> al escribir cdigo de PHP.
Ejemplo #2 Etiquetas de apertura y de cierre de PHP
1.<?phpecho'siquiereproveercdigodePHPadocumentosXHTMLoXML,
empleeestasetiquetas';?>
2.Puedeemplearlaetiquetaechoabreviadapara<?='imprimirestacadena'?>.
SiempreesthabilitadaenPHP5.4.0yposterior,yesequivalentea
<?phpecho'imprimirestacadena'?>.
3.<?echo'estecdigoestdentrodeetiquetasabreviadas,aunqueslo'.
'funcionarsishort_open_tagesthabilitada';?>
4.<scriptlanguage="php">
echo'aalgunoseditores(comoFrontPage)nolesgustan
lasinstrucionesdeprocesamientodentrodeestasetiquetas';
</script>
EstasintaxishasidoeliminadaenPHP7.0.0.
5.<%echo'Opcionalmente,sepuedenemplearlasetiquetasalestilodeASP';%>
Elcdigodentrodeestasetiquetas<%=$variable;%>esunaabreviaturaparaestecdigo<%echo$variable;%>

3 de 6

14/01/17 10:37

PHP: Salir de HTML - Manual

http://php.net/manual/es/language.basic-syntax...

AmbassintaxishansidoeliminadasenPHP7.0.0.

Las etiquetas abreviadas (ejemplo tres) solamente estn disponibles cuando se activan mediante la
directiva short_open_tag del fichero de configuracin php.ini o si PHP se configur con la opcin
--enable-short-tags .
Las etiquetas de estilo de ASP (ejemplo cinco) solamente estn disponibles cuando se activan
mediante la directiva asp_tags del fichero de configuracin php.ini. Han sido eliminadas en PHP
7.0.0.
Nota:
Debe evitarse el uso de etiquetas abreviadas cuando se desarrollen aplicaciones o
bibliotecas que estn pensadas para su redistribucin o despliegue en servidores de PHP
que no estn bajo su control, porque puede que las etiquetas abreviadas no estn
admitidas en un servidor determinado. Por portabilidad y cdigo redistribuible, asegrese
de no usar etiquetas abreviadas.
Nota:
En PHP 5.2 y anteriores, el analizador no permite que un fichero contenga nicamente la
etiqueta de apertura <?php. A partir de PHP 5.3 s se permite, siempre que existan uno o
ms caracteres espacio en blanco despus de la etiqueta de apertura.
Nota:
Desde PHP 5.4, la etiqueta de echo abreviada <?= siempre es aceptada y vlida,
independientemente de la configuracin de short_open_tag.
add a note

User Contributed Notes 8 notes


up
down
236
quickfur at quickfur dot ath dot cx
6 years ago
When the documentation says that the PHP parser ignores everything outside the <?php ... ?> tags, it means
literally EVERYTHING. Including things you normally wouldn't consider "valid", such as the following:
<html><body>
<p<?php if ($highlight): ?> class="highlight"<?php endif;?>>This is a paragraph.</p>
</body></html>
Notice how the PHP code is embedded in the middle of an HTML opening tag. The PHP parser doesn't care that it's in
the middle of an opening tag, and doesn't require that it be closed. It also doesn't care that after the closing
?> tag is the end of the HTML opening tag. So, if $highlight is true, then the output will be:
<html><body>
<p class="highlight">This is a paragraph.</p>
</body></html>
Otherwise, it will be:
<html><body>
<p>This is a paragraph.</p>
</body></html>
Using this method, you can have HTML tags with optional attributes, depending on some PHP condition. Extremely
flexible and useful!

up
down
76
ravenswd at gmail dot com
7 years ago
One aspect of PHP that you need to be careful of, is that ?> will drop you out of PHP code and into HTML even if

4 de 6

14/01/17 10:37

PHP: Salir de HTML - Manual

http://php.net/manual/es/language.basic-syntax...

it appears inside a // comment. (This does not apply to /* */ comments.) This can lead to unexpected results. For
example, take this line:
<?php
$file_contents = '<?php die(); ?>' . "\n";
?>
If you try to remove it by turning it into a comment, you get this:
<?php
// $file_contents = '<?php die(); ?>' . "\n";
?>
Which results in ' . "\n"; (and whatever is in the lines following it) to be output to your HTML page.
The cure is to either comment it out using /* */ tags, or re-write the line as:
<?php
$file_contents = '<' . '?php die(); ?' . '>' . "\n";
?>

up
down
36
snor_007 at hotmail dot com
6 years ago
Playing around with different open and close tags I discovered you can actually mix different style open/close
tags
some examples
<%
//your php code here
?>
or
<script language="php">
//php code here
%>

up
down
29
sgurukrupa at gmail dot com
2 years ago
Although not specifically pointed out in the main text, escaping from HTML also applies to other control
statements:
<?php for ($i = 0; $i < 5; ++$i): ?>
Hello, there!
<?php endfor; ?>
When the above code snippet is executed we get the following output:
Hello, there!
Hello, there!
Hello, there!
Hello, there!

up
down
15
mike at clove dot com
6 years ago
It's possible to write code to create php escapes which can be processed later by substituting \x3f for '?' - as
in echo "<\x3fphp echo 'foo'; \x3f>";

5 de 6

14/01/17 10:37

PHP: Salir de HTML - Manual

http://php.net/manual/es/language.basic-syntax...

This is useful for creating a template parser which later is rendered by PHP.

up
down
3
admin at furutsuzeru dot net
8 years ago
These methods are just messy. Short-opening tags and ASP-styled tags are not always enabled on servers. The
<script language="php"></script> alternative is just out there. You should just use the traditional tag opening:
<?php?>
Coding islands, for example:
<?php
$me = 'Pyornide';
?>
<?=$me;?> is happy.
<?php
$me = strtoupper($me);
?>
<?=$me;?> is happier.
Lead to something along the lines of messy code. Writing your application like this can just prove to be more of
an
inconvenience when it comes to maintenance.
If you have to deal chunks of HTML, then consider having a templating system do the job for you. It is a poor idea
to rely on the coding islands method as a template system in any way, and for reasons listed above.

up
down
-30
Kalimuthu
2 years ago

up
down
-19
nath dot realmadrid at gmail dot com
1 year ago

add a note

Sintaxis bsica
Etiquetas de PHP
Salir de HTML
Separacin de instrucciones
Comentarios
Copyright 2001-2017 The PHP Group
My PHP.net
Contact
Other PHP.net sites
Mirror sites
Privacy policy

6 de 6

14/01/17 10:37