Links und Mailadressen umwandeln?Mailadressen umwandeln?

vantommes

Grünschnabel
Hallo Zusammen

Ich habe mir mal den Script von http://www.tutorials.de/forum/php-tutorials/262324-einfache-adressen-verwaltung.html geholt und habe den auch soweit rumexperimentiert um weiter dazu zu lernen.

Hier mal meine Beschreibung dessen was ich erreichen möchte.

Die Adressdaten werden aus der Datenbank gelesen und darstellen. Das geht auch super und ohne Probleme. Nur sind da dann auch Mailadressen und Links zu Webseiten dabei die aber nun nicht anklickbar sind. Diese "Links" werden eben nur als reiner Text dargestellt.

Ich habe nun schon einiges Versucht und nachfolgenden Ausgabecode des Scriptes verändert, der aber nicht funktioniert.

PHP:
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<?php 

include 'config.inc.php'; 

mysql_connect($host, $user, $pass) or die ("Keine Verbindung zu der Datenbank möglich."); 
mysql_select_db($db); 

$sql = "SELECT * FROM adressen WHERE Id = \"{$_GET["id"]}\""; 
$res = mysql_query($sql) or die (mysql_error()); 
$i = 0; 

echo '<table width="500" class="table" align="center">'; 

while ($row = mysql_fetch_assoc($res)) { 
    $i++; 
    foreach ($row as $key => $value) { 
        echo '<td>' . $key .  '</td><td>'  . $value . '</td></tr>'; 
    } 
    echo '  <tr> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
  </tr>'; 
} 
echo '</table>'; 
mysql_free_result($res); 

function replace_uri($str) {
  $pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
  return preg_replace($pattern,"\\1<a href=\"\\2\\3\"><u>\\2\\3</u></a>\\4",$str);
}

?>

Bin ich das auf dem Holzweg oder welchen Fehler habe ich da gemacht?

Beste Grüße
Vantommes
 
Hallo,

würde es nicht reichen die Links in HTML als link darzustellen und bei E-Mails mit einem mailto: davor?
PHP:
echo '<a href="' . $link . '">' .  $link. '</a>';
echo '<a href="mailto:' . $email . '">' .  $email. '</a>';
 
Zuletzt bearbeitet:
Hi,

ich sehe gar nicht, wo Du denn die Funktion replace_uri() überhaupt aufrufst... ;)

Falls das nur eine interne Adressverwaltung für Dich ist, würde ich aber Snowowl recht geben. Wenn Du die betreffenden Felder kennst und weißt, dass z.B. in "Email" auch eine gültige email-Adresse steht (da Du sie selbst eingegeben hast), dann musst Du ja nicht unbedingt die regexp-Engine bemühen.
Falls das öffentlich zugänglich ist, solltest Du Dir noch Gedanken über die Sicherheit machen, die in diesem Tutorial wohl komplett außen vorgelassen wurde.

LG
 
Zurück