2011-06-08 8 views
0

J'essaie de créer une zone de texte qui sera affichée sur mon site Web. Une fois affiché, j'aimerais montrer quelques données dans la zone de texte. Voici ce que j'aiCitations au sein de devis

echo "<input type=\"text\" size=\"100\" value=\"<a href=\"$url\"></a>\">"; 

Tout ce qui apparaît dans la zone de texte est <a href= Et puis à la fin de la zone de texte, juste après la zone de texte que je vois ">

Je sais que quelque chose doit être syntaxiquement éteint, je ne sais pas quoi.

+0

qu'est-ce qui apparaît dans la zone de texte? Cela aiderait si vous publiez votre code. – Turnsole

+0

@Hydrangea: Edited :-) Juste une erreur d'analyse markdown ou quelque chose. – Bojangles

Répondre

2

Vous devez encoder les caractères <, " et > - ils ne peuvent pas être incorporés de cette façon. Utilisation:

echo '<input type="text" size="100" value="'.htmlspecialchars('<a href="'.$url.'"></a>').'">'; 

Vous pouvez également utiliser la fonction urlencode() - voir ce qui vous convient le mieux.

Un conseil de plus - utilisez des guillemets simples lorsque la chaîne contient du contenu de type HTML. Cela vous permettra d'économiser \" partout.

+0

Merci beaucoup. Ce partiellement résolu le problème. Voici ce que j'ai dans la zone de texte Charlie

+0

Ceci est le contenu correct. Vous ne pouvez pas incorporer des liens dans le contenu '' comme vous le faites en HTML. –

+2

@Charlie Essayez 'htmlspecialchars ('')'. – trutheality

0
php_code ?> 
<input type="text" size="100" value="<a href=&quote;<?=$url;?>&quote;></a>\"> 
<?php 
php_code 

peut-être cela fonctionnera pour vous

+0

Tout à fait une bonne solution, sauf une devrait éviter d'utiliser ' Tadeck

0

Pensez à ce que le code HTML ressemblerait à ceci:

<input type="text" size="100" value="<a href="$url"></a>"> 
              ^
              | 
              This is where the value attribute ends! 

htmlspecialchars devrait le résoudre.

0

Vous avez fait une erreur. Votre code entraînera quelque chose comme ça (aussi visible dans this jsfiddle):

<input type="text" size="100" value="<a href="http://www.google.com/"></a>"> 

Au lieu de cela vous pouvez utiliser quelque chose comme ça:

echo "<input type=\"text\" size=\"100\" value=\"&lt;a href=&quot;$url&quot;&gt;&lt;/a&gt;\">"; 

ou

echo '<input type="text" size="100" value="&lt;a href=&quot;' . $url . '&quot;&gt;&lt;/a&gt;">'; 

recevoir effet visible this jsfiddle. Est-ce satisfaisant assez?