ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1593
1593
EMPFEHLEN
-
03.06.05 11:06 #1
Hallo,
ich stosse (schon wieder) an meine Grenzen
Ich habe in einer MySQL-Datenbank mehrere Fliestexte (Newsletter) gespeichert.
Ein Beispieltext sieht so aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Hallo -user-, das ist der aktuelle Newsletter mit folgenden Themen. 1. Thema1 2. Thema2 3. Thema3 1.Thema1 Das ist der Text zum Thema da steht alles drinn was Wichtig ist. http://www.link-zum-dokument.de/ 2. Thema2 Das ist ein weiterer Text - bitte laden Sie sich die Datei http://www.link-zum-dokumen.de/dokument.pdf auf Ihren Rechner und füllen Sie das Formular vollständig aus. 3. Thema 2 usw. usw....................
Jetzt lese ich diesen Text mit PHP ein und gib ihn im Newsletterarchiv mit <pre> aus.
Die Links werden dabei aber logischerweise nicht als Links sondern als normaler Text übernommen - weil ja <a href> usw. fehlt.
Wie kann ich jetzt den Link (diese sind immer verschieden) in einen echten Link bei der Ausgabe umwandeln?
Vielen Dank im Voraus!Geändert von dwex (03.06.05 um 11:11 Uhr)
Ich würde mich über die Bewertung meiner Beiträge mit Kurzkommentar sehr freuen!
Die "dumme Frage" ist gewöhnlich das erste Anzeichen einer völlig neuen Entwicklung!
-------------------
Es ist immer Zeit etwas zu verändern ....
.... das alles so bleibt wie es ist!
-------------------
Homepage Landshut
-------------------
/voodoo.css
#meinFeind {position: absolute; bottom: -6ft;}
-
Mein Vorschlag:
PHP-Code:<?php
$url_patterns = array(
// @link http://internet.ls-la.net/folklore/url-regexpr.html
'http' => "(?:https?://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?)(?:/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))*)(?:\?(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))?)?)",
'ftp' => "(?:ftp://(?:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*)(?::(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*))?@)?(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?))(?:/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=])*))*)(?:;type=[AIDaid])?)?)",
'mailto' => "(?:mailto:(?:(?:[a-zA-Z\d$\-_.+!*'(),;/?:@&=]|(?:%[a-fA-F\d]{2}))+))"
);
$pattern = '/(' . addcslashes($url_patterns['http'], chr(0x2F)) . '|' . addcslashes($url_patterns['ftp'], chr(0x2F)) . '|' . addcslashes($url_patterns['mailto'], chr(0x2F)) . ')/';
$string = preg_replace($pattern, '<a href="\\1">\\1</a>', $string);
?>Markus Wulftange
-
Hi!
Suche mit der funktion strpos() das auftreten
von http in deinem Text. dann kannst du von dieser
Position an das erste Leerzeichen suchen.
Wenn du nun die Differenz zwischen den beiden
Zahlen bildest weist du wo die Zeichenkette beginnt
und wie lang sie ist und kannst sie nun mit substr()
einer variable zuordnen.
Gruß BennyTheorie ist Wissen, das nicht funktioniert.
Praxis ist, wenn alles funktioniert und man weiß nicht warum
Ähnliche Themen
-
Von HTML Datei Links und Text auslesen...
Von Darian im Forum PHPAntworten: 2Letzter Beitrag: 14.10.08, 23:11 -
Link aus Text in MySQL-DB auslesen und als Link in HTML ausgeben
Von dwex im Forum PHPAntworten: 2Letzter Beitrag: 25.08.05, 20:53 -
Bestimmten Text erkennen und als Bild ausgeben
Von bug13 im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 03.04.05, 20:49 -
URL erkennen und als Link ausgeben
Von meilon im Forum PHPAntworten: 3Letzter Beitrag: 21.04.04, 19:04 -
Links im Text erkennen und umwandeln!
Von fLoOmY im Forum PHPAntworten: 11Letzter Beitrag: 30.12.02, 21:59





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren