Skip to content

Instantly share code, notes, and snippets.

@beshur
Created August 31, 2012 15:21
Show Gist options
  • Save beshur/3554474 to your computer and use it in GitHub Desktop.
Save beshur/3554474 to your computer and use it in GitHub Desktop.
PHP form parser - replaces all fields with their values
<?php
// form parser, replaces all fields with their values
$param['fields'] = $_POST; // almost
$message = $form['text']; // get the initial form HTML from somewhere
$message = str_replace("<form", "<div", $message);
$message = str_replace("</form", "</div", $message);
$message = preg_replace("#<input([^>]*)type=['\"]?submit['\"]?([^>]*)>#u", "", $message);
foreach ($param['fields'] as $key => $value) {
$message = preg_replace("#<input([^>]*)name=['\"]".preg_quote($key)."['\"]([^>]*)>#Uis", "<kbd>".htmlStripSlashes($value)."</kbd>", $message);
$message = preg_replace("#<select([^>]*)name=['\"]?".preg_quote($key)."['\"]?([^>]*)>(.*?)<\/select>#is", "<br><kbd>".htmlStripSlashes($value)."</kbd><br>", $message);
$message = preg_replace("#<textarea([^>]*)name=['\"]?".preg_quote($key)."['\"]?([^>]*)>(.*?)<\/textarea>#is", "<br><kbd>".htmlStripSlashes($value)."</kbd>", $message);
}
$message = preg_replace("#<kbd>checked</kbd>#is", "<kbd>+</kbd>", $message);
$result = mail ( $to , $subject , $message );
return $result;
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment