Equivalencia en php

Hola holita, tengo el siguiente código:
<a href="http://www.miweb.com" onmouseover="window.status='Bienvenido';return true" onmouseout="window.status='';return true">
Me funciona bien cuando lo uso directamente en html, pero ¿cómo demonios funciona en php dentro de un "echo"? Sé que la comilla doble la sustituyo por la comilla simple, pero no me funciona... O sea, quiero que funcione bien en php, algo así:
<?
echo "<a href='..............>";
?>
He obviado lo obvio, con lo que me estoy peleando es con las dichosas comillas... Concretamente en la parte del onmouseover= que como veis hay unas comillas simples dentro de unas dobles, pero al usarlo en el echo eso no va...
Me lío con tanta comilla...
¿Me ayudáis?
Saluditos.

1 respuesta

Respuesta
1
Tu pregunta es interesante porque a todos se nos puede prensentar alguna vez este dilema.
Te ofrezco a falta de una, 2 soluciones, el método del "corte" y el método de concatenado.
¿Que de qué van? Muy fácil, el corte consiste en cortar la cadena que quieres mostrar con PHP justo antes de cada " o ' usando alternamente echo ' ' y echo " " pero como es un poco lioso y es fácil perder la pista (y la paciencia) te ofrezco el método de concatenado, consiste en reemplazar el carácter conflictivo por una variable, concatenar todo y mostrarlo de una vez, es algo lioso pero mucho menos que el primero, el código sería este:
<?php
echo "Método corte<br><br>";
echo "<a href='http://www.miweb.com' onmouseover=";
echo '"window.status=';
echo "'Bienvenido';return true";
echo '" onmouseout="window.status=';
echo "'';return true";
echo '">';
echo "Link</a>";
echo "<br><br>";
echo "Método concatenado<br><br>";
$comilla='"';
echo "<a href='http://www.miweb.com' onmouseover=".$comilla."window.status='Bienvenido';return true".$comilla." onmouseout=".$comilla."window.status='';return true".$comilla.">Link</a>";
?>
Ojo a las lineas que se cortadan por el ancho de todoexpertos, puedes ver que funciona (con iexplorer no firefox) aquí
Está testado y comprobado, porque no veas la guerra que dan estas cosillas =)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas