Re: pop textarea field w/ text incl. quotes
| From: | Simon Garner | Date: | Thu, 22 Feb 2001 01:50:28 +0000 |
| Subject: | Re: pop textarea field w/ text incl. quotes | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-41093@lists.php.net to get a copy of this message | ||
From: "Paul Warner" <pwarner@winners-circle.com>
> Simon-
>
> Thanks for the tip...I trued using the htmlspecialchars() which allowed
the
> remainder of the form to display properly, but left no value in the
> textarea. Then I noticed a difference in the method I was using compared
to
> yours - I'm still learning the ways of PHP so it will take me a while to
> determine the significance of the syntax differences:
>
> Mine: <td width = "60%"><?php echo $linkurl . '<br><textarea
> value="htmlspecialchars($linkurl)"></textarea></td>\n' ?>
>
> Yours: <?php echo "<textarea>" . htmlspecialchars($link) .
> "</textarea>"
?>
>
> I wanted a graphical representation of the present link displayed above
the
> textarea and then attempted to use php's substitution to build the text
area
> within the same string. I updated my code to be more like yours and
arrived
> at:
>
> <?php echo $linkurl . '<br><form>'?><?php echo
> "<textarea>" .
> htmlspecialchars($linkurl) . "</textarea>\n"?>
>
> which seems to make the parser behave as I intended.
>
> Anyway...thanks!
>
> -- Paul
>
Ah, the HTML <TEXTAREA> element does not support a VALUE attribute so your
way will not work. :)
Unlike <INPUT> tags, the contents (value) of a textarea should be inserted
between the <textarea>...</textarea> tags, rather than as an attribute.
Hence what you need is:
<td width="60%"><?php echo $linkurl . "<br><textarea>" .
htmlspecialchars($linkurl) . "</textarea></td>\n"; ?>
In the outputted HTML this will give you:
<td width="60%"><a href="http://www.blah.com">Blah</a><br><textarea><a
href="http://www.blah.com">Blah</a></textarea>
Which should render as a link, followed by a textarea with the HTML code for
that link. If you want the first link to render as code as well then you
need to run it through htmlspecialchars() too.
Cheers
> ----- Original Message -----
> From: "Simon Garner" <sgarner@expio.co.nz>
> To: "Paul Warner" <pwarner@winners-circle.com>;
<php-general@lists.php.net>
> Sent: Wednesday, February 21, 2001 8:19 PM
> Subject: Re: [PHP] pop textarea field w/ text incl. quotes
> >
> > Don't worry about quotes - the problem is that you have HTML markup
inside
> > your <textarea>. You just need to convert < and > to < and >,
> > respectively, in your link text. The functions htmlspecialchars() or
> > strip_tags() can do this for you.
> >
> > i.e.:
> >
> > <? echo "<textarea>" . htmlspecialchars($link) .
> > "</textarea>" ?>
> >
> > When the form is submitted (and when it's viewed), those entities will
be
> > converted back to their real characters automatically by the browser.
> >