Agrego comentarios en el código:
Código PHP:
<?php
/*
si al archivo actual se le envía via get la variable f
mostramos el contenido de la página externa
(el exit es para no mostrar otra cosa que dicho contenido:
mostramos eso y hacemos que el script finalice)
*/
if(isset($_GET['f'])){
echo '<base href="http://www.clarin.com" />';
echo file_get_contents('http://www.clarin.com');
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
<script>
function mostrarseleccion(){
var input = document.getElementById('fr').contentWindow.document;
if(typeof document.getElementById('fr').contentWindow.document.selection != 'undefined' && document.getElementById('fr').contentWindow.document.selection) {
alert(input.selection.createRange().text);
return;
}
else {
alert(document.getElementById('fr').contentWindow.getSelection());
return;
}
}
</script>
<style>
#bot{
width:150px;
border:1px solid #000000;
background-color:#CCCCCC;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:9px;
text-align:center;
padding:2px;
cursor:pointer;
}
</style>
</head>
<body>
<div id="bot" onmousedown="mostrarseleccion()">mostrar selección</div><br />
<!-- ?f equivale a archivoActual.php?f, es decir, le envía al archivo actual, vía get, la variable f -->
<iframe id="fr" name="fr" src="?f" width="500" height="500"></iframe>
</body>
</html>
En resumen, si al archivo actual se le envía, vía get, la variable f, muestra un contenido diferente del que muestra si no se le envía dicha variable.