Re: PHP inserting carriage returns into POST values?
| From: | Nisse Engström | Date: | Fri, 04 Sep 2009 22:02:57 +0000 |
| Subject: | Re: PHP inserting carriage returns into POST values? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-297705@lists.php.net to get a copy of this message | ||
On Fri, 04 Sep 2009 12:16:47 -0700, James Colannino wrote:
> Hey everyone. I ran into a really weird issue that I was hoping I could
> find some clarification on. In short, I have javascript functions that
> operate on hidden text values. Those values may be posted, in which
> case PHP then prints them back to the page via what comes in on $_POST.
>
> The weird thing is, I was no longer able to match substrings inside
> those hidden text values after posting via Javascript. I banged my head
> over this for a couple hours, until I realized that the string's length
> was being increased by one after posting (I found this out in
> javascript). Upon further investigation, I found that all instances of
> "substring\n" were being replaced by "substring(carriage return)\n"
> after post.
It may be the browser that is converting those line breaks.
From the HTML spec.:
<http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1>:
application/x-www-form-urlencoded
...
Line breaks are represented as "CR LF" pairs (i.e., `%0D%0A').
<http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2>:
multipart/form-data
...
"CR LF" (i.e., `%0D%0A') is used to separate lines of data.
/Nisse