|
Posted by Captain Paralytic on 02/15/07 16:40
On 15 Feb, 16:35, Schraalhans Keukenmeester <bitbuc...@invalid.spam>
wrote:
> I want to build a very basic online text editor, to allow customers to
> modify their own sites' html content using a simple form with textarea
> element.
>
> I read the HTML file like so:
>
> <?PHP
>
> function EditText ($filepath)
> {
> if (!$file = file($filepath)) return false;
> foreach ($file as $line) {
> $value .= $line; // contains all text in file when done
> }
> $html = "<html><head><title>Editor</title></head>
> <body>
> <form method='post' action='processtext.php'>
> <textarea rows='40' cols='80' name='txt' value='$value'>
> <input type='submit'>
> </form>
> </body>
> </html>";
> echo $html;
> return true;
> }
>
> EditText ('/sample/index.html');
> ?>
>
> The problem comes when the parsed file containing html elements itself
> is echoed to the browser. In itself, PHP does what it's asked, but all
> browsers I tried choke on the contents of the TEXTAREA field. Best
> example may be: try parsing the file containing the script itself, it
> becomes a real mess.
>
> I tried htmlspecialchars, this did not fix it. I tried addslashes to
> only escape the quotes in the parsed file, also no success.
>
> I saw one example online where 'they' preg_replaced about every possible
> (x)html and php syntax element, resulting in an immensely large and slow
> script. Can't imagine that's the proper way forward.
>
> If at all possible I'd like to stay away from Javascript. Any idea if
> this is a realistic approach? Are there any useable scripts available? I
> searched google a lot, but I keep ending up at sites that offer html or
> php editors for local use, not in a browser.
>
> Thanks for any good tips!
I haven't examined too closely how Peter does it, but FacileForms
allows one to put HTML & PHP in textareas that then get stored on the
host.
You could download that package and take a look at the various classes
to see how it's done.
[Back to original message]
|