php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.10.2005, 20:04  
Gast
 
Beiträge: n/a
Standard Ausdruck, wie gehts richtig?

Hallo,

mein Beispiel:
PHP-Code:
<?php
$text 
"Das ist eine url [url]www.test-domain.de/test/test.php?id=5&bla=20[/url] und das [url]http://www.test.de[/url] und auch das www.domain.de.";
$text2 preg_replace("!(www\.|[url]http://www\[/url].)([a-zA-Z0-1\-]{3,}\.)([a-zA-Z0-9\.\-\?\&=/]+)([^\.])!","<a href=\"$1$2$3\">$1$2$3</a>",$text);
echo 
$text2;
?>
Das erscheint auf dem Bildschirm:
Das ist eine url www.test-domain.de/test/test.php?id=5&bla=20und das http://www.test.deund auch das www.domain.d.

Warum wird an jedem Ende ein Leerzeichen bzw. Teil der Url entfernt?

Das soll man Muster können:
Url finden, die mit "http://www." oder "www" beginnt, darauf eine mindestens 3stellige Domain folgt und mit einen beliebig langem Ende endet, das aber nicht mit einem "." aufhört.


Gruß
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.10.2005, 22:53  
Gast
 
Beiträge: n/a
Standard

Mhh erscheint in der Tat sehr merkwürdig
Ich geb dir mal den RegExp den ich dafür nutze:

Code:
%\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|]%
Grüße fackel
 
Alt 28.10.2005, 17:11  
Gast
 
Beiträge: n/a
Standard

Das Muster sorgt nur für Fehlermeldungen. Nach Anpassung funktioniert es noch weniger als meins.
Weiß jemand, was bei meiner Lösung falsch ist?
 
Alt 28.10.2005, 17:21  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Back-Up
Warum wird an jedem Ende ein Leerzeichen bzw. Teil der Url entfernt?
Deswegen:

...[...]+)([^\.])!
in
...[...]+[^\.])!
ändern
 
Alt 28.10.2005, 17:23  
Gast
 
Beiträge: n/a
Standard

Das führt zu:
Das ist eine url www.test-domain.de/test/test.php?id=5&bla=20 und das http://www.test.de und auch das www.domain.de.
 
Alt 28.10.2005, 17:28  
Gast
 
Beiträge: n/a
Standard

hab das mit dem link übersehen! dann einfach so lassen wie du es hattest und folgendes ändern:

<a href=\"$1$2$3\">$1$2$3</a>
in
<a href=\"$1$2$3\">$1$2$3</a>$4

p.s.: deine regel mit dem punkt am ende ist übrigens humbug. schau dir doch den letzten link von deinem beispiel an. nicht vergessen http:// einzufügen, wenn die website mit www. beginnt.
demnach ist href=\"$1$2$3\" nicht richtig.
 
Alt 28.10.2005, 17:34  
Gast
 
Beiträge: n/a
Standard

Jetzt wird das ausgegeben: Das ist eine url www.test-domain.de/test/test.php?id=5&bla=20 und das http://www.test.de und auch das www.domain.de.

Und ohne ([^\.]) wird der Punkt am Satzende mitverlinkt.
 
Alt 28.10.2005, 17:36  
Gast
 
Beiträge: n/a
Standard

und???

/edit: wenn du das www.domain.de meinst. begründung steht oben. stand übrigens auch schon vor meinem edit da. da hab ich nur das eingefügt.
Zitat:
Zitat von karl-150
demnach ist href=\"$1$2$3\" nicht richtig.
 
Alt 28.10.2005, 17:37  
Gast
 
Beiträge: n/a
Standard

Was und??? Problem ist, dass eine Url am Ende des Satzes nicht richtig verlinkt wird.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP richtig lernen! TeazY PHP Tipps 2008 5 01.02.2008 21:50
Regulären Ausdruck Übersetzen (preg_match) mAy^daY PHP Tipps 2007 11 04.01.2007 14:00
Logischer Ausdruck aus DB überprüfen c!w PHP Tipps 2006 15 12.09.2006 13:36
Mit if Abfrage innerhalb eines strings einen Ausdruck suchen tinchen PHP Tipps 2006 4 11.04.2006 10:18
[Erledigt] Modularisierung: Wie macht man es richtig? PHP-Fortgeschrittene 1 12.03.2006 16:00
Regul�rer Ausdruck PHP Tipps 2006 3 01.02.2006 19:50
Regulärer Ausdruck: Ping-Zeiten speichern mAy^daY Server, Hosting und Workstations 9 12.01.2006 19:51
[Erledigt] Lieg ich da richtig? Datenbanken 4 31.08.2005 13:21
[Erledigt] VARIABLEN WERDEN NICHT RICHTIG VERARBEITET!!!! HILFE PHP Tipps 2005-2 6 02.07.2005 18:32
PHP funktioniert nicht richtig?! PHP Tipps 2005-2 26 11.06.2005 09:05
Variable wird nicht richtig übergeben PHP Tipps 2005 17 16.01.2005 16:51
Regulärer Ausdruck inu PHP Tipps 2004-2 8 18.11.2004 18:07
[Erledigt] imap_body RICHTIG ausgeben (mit allen Sonderzeichen usw.) PHP-Fortgeschrittene 3 08.09.2004 02:33
[Erledigt] Perl richtig installiert oder falsch ? testen aber wie ? c01001 Server, Hosting und Workstations 2 31.08.2004 22:37
Formular, welches prüft, ob eingegebene Antwort richtig.... PHP Tipps 2004 10 15.08.2004 22:18


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:54 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.