I have found some code that will parse my text field in an upload form and convert URLs and emails to href and mailto links:
<?php
// Written by Fredrik Kristiansen (russlndr at online.no)
// and Albrecht Guenther (ag at phprojekt.de).
function html_activate_links($str) {
$str = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a href="\\1" target="_blank">\\1</a>', $str);
$str = eregi_replace('([[:space:]()[{}])([url]www.[/url][-a-zA-Z0-9@:%_\+.~#?&//=]+)', '\\1<a href="http://\\2" target="_blank">\\2</a>', $str);
$str = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})','<a href=\"mailto:\\1\">\\1</a>', $str);
return $str;
}
?>
How would I use it with my upload form code(test created with Ultradev)?:
<?php
require("./adodb/adodb.inc.php");
require("./Connections/articles.php");
?><?php require_once(ADODB_DIR."/KTeditOps_declareVars.php"); ?><?php
// *** Insert Record: set Variables
if (isset($MM_insert)){
// $MM_editConnection = MM_articles_STRING;
$MM_editTable = "articles";
$MM_editRedirectUrl = "insert.php";
$MM_fieldsStr = "articleID|value|ArticleTitle|value|ArticleAuthor|value|ArticleBody|value|ArticleCategory|value";
$MM_columnsStr = "articleID|none,none,NULL|ArticleTitle|',none,''|ArticleAuthor|',none,''|ArticleBody|',none,''|ArticleCategory|',none,''";
// create the $MM_fields and $MM_columns arrays
$MM_fields = explode("|", $MM_fieldsStr);
$MM_columns = explode("|", $MM_columnsStr);
// set the form values
for ($i=0; $i+1 < sizeof($MM_fields); ($i=$i+2)) {
$MM_fields[$i+1] = $$MM_fields[$i];
}
// append the query string to the redirect URL
if ($MM_editRedirectUrl && $QUERY_STRING && (strlen($QUERY_STRING) > 0)) {
$MM_editRedirectUrl .= ((strpos($MM_editRedirectUrl, '?') == false)?"?":"&") . $QUERY_STRING;
}
}
?><?php
$KT_Connection = &$articles;
require_once(ADODB_DIR."/KTinsertRecord_query.php");
?><?php
$Recordset1 = $articles->Execute("SELECT * FROM articles") or KT_DIE($articles->ErrorNo(),$articles->ErrorMsg());
$Recordset1_numRows=0;
$Recordset1__totalRows=$Recordset1->RecordCount();
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form method="post" action="<?php echo $MM_editAction?>" name="form1">
<table border=0 cellpadding=2 cellspacing=0 align="center">
<tr valign="baseline">
<td nowrap align="right">ArticleID:</td>
<td>
<input type="text" name="articleID" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">ArticleTitle:</td>
<td>
<input type="text" name="ArticleTitle" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">ArticleAuthor:</td>
<td>
<input type="text" name="ArticleAuthor" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">ArticleBody:</td>
<td>
<textarea name="ArticleBody" cols="32"></textarea>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">ArticleCategory:</td>
<td>
<input type="text" name="ArticleCategory" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td>
<input type="submit" value="Insert Record" name="submit">
</td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="true">
</form>
</body>
</html>
<?php
$Recordset1->Close();
?>
Thanks