Portal > Foren > PHP > PHP-Programmierung > Problem mit URL-Tag
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 20.07.2006, 16:51 Nach oben    #1
n00b -.-
 
Benutzerbild von Bookworm
 
Registriert seit: 10.11.2005
Beiträge: 318
Standard Problem mit URL-Tag

Moin moin,
ich habe für mein eigenes Newssystem eine Reihe von BBCode gebastelt. Die funktionieren soweit alle über str_replace. Nur beim URL Tag habe ich was fertiges genommen, das auf preg_replace basiert; ganz einfach weil ich gerade nicht die Zeit habe, um mich tiefer in RegExp einzugraben, wenn noch andere Probleme zu lösen sind.
Das Ding hängt in einer Funktion, die ich über alle Inhalte, die aus meiner DB kommen und angezeigt werden sollen, laufen lasse.

Sieht derzeit so aus:
PHP-Code:
$ergebnis preg_replace('#\[url\=(.*)\](.*)\[\/url\]#i''<a href="\\1">\\2</a>',$ergebnis); 
$ergebnis kommt aus der Funktion...
Naja, eigentlich müsste das Ding ja funktionieren, oder? Tut auch. Probleme gibts erst, wenn ich zwei [url]-Tags im selben String ersetzen will:
Dann verschwindet der erste "Link" komplett, der zweite wird jedoch einwandfrei dargestellt.
Das ist aber irgendwie unpraktisch, da in Newsmeldungen durchaus mehrer Links vorkommen können (ehrlich gesagt ich hab jetzt schon Probleme wegen dem Teil^^).
Habt ihr irgendeine Idee woran liegen könnte?

Gruß
Bookworm

P.S: In der Datenbank ist übrigens der komplette Inhalt, der Fehler entsteht also wirklich beim Auslesen.
__________________
Alle wollen doch nur mein Bestes. Aber sie werden es nicht kriegen!
Bookworm ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 17:03 Nach oben    #2
Erfahrener Benutzer
 
Benutzerbild von JumperII
 
Registriert seit: 27.02.2006
Beiträge: 154
Standard

Hallo,

ohne es getestet zu haben scheint mir dein Pattern etwas buggi .... probiers mal mit
Code:
'/\[url(\=([^\]]+))?\](.*)\[\/url\]/iU'
Gruß,
Jumper, the II.

Geändert von JumperII (20.07.2006 um 18:19 Uhr)
JumperII ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 17:25 Nach oben    #3
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 596
Standard

Zitat:
Probleme gibts erst, wenn ich zwei [url]-Tags im selben String ersetzen will:
Dann verschwindet der erste "Link" komplett
jo, Thema Gierigkeit

Code:
'~\[url=(.*?)\](.*?)\[/url\]~is'

Geändert von CIX88 (20.07.2006 um 17:27 Uhr)
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 17:32 Nach oben    #4
n00b -.-
 
Benutzerbild von Bookworm
 
Registriert seit: 10.11.2005
Beiträge: 318
Standard

Das wars. Danke CIX
Gruß
Booki
__________________
Alle wollen doch nur mein Bestes. Aber sie werden es nicht kriegen!
Bookworm ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 18:00 Nach oben    #5
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 596
Standard

Moment, hab eigendlich mist geschrieben, das geht doch nicht so wunderbar.
Wenn z.B. jemand schreibt:
PHP-Code:
text text [url=] linktext1 [/urlbla bla 
Dann reagiert der Ausdruck auch, obwohl es eigendlich falsch ist.

Deshalb noch ein anderes Beispiel:
http://www.cix88.de/projekte/regexp/...720175529.html

Das Spiel kann man noch weiter betreiben.
Z.B. prüfen ob hinter url= auch wirklich eine URL steht.
Prüfen ob zwischen url] und [url auch wirklich ein Wort oder eine URL steht.
Aber das war mir jetzt zuviel bei 34 Grad

Geändert von CIX88 (20.07.2006 um 18:06 Uhr)
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 22:08 Nach oben    #6
Erfahrener Benutzer
 
Benutzerbild von PaterNoster
 
Registriert seit: 18.08.2005
Ort: Dortmund
Beiträge: 166
Standard

Kuck doch auch mal hier, so als Anregung

http://www.christian-seiler.de/proje...ode/index.html
PaterNoster ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.07.2006, 12:43 Nach oben    #7
n00b -.-
 
Benutzerbild von Bookworm
 
Registriert seit: 10.11.2005
Beiträge: 318
Standard

@CIX: Es gibt aber keinen "jemand". bbCodes verwende ich nur im Adminbereich, und ich denke mal das ich oder meine Newsposter schon vernünftig damit umgehen

Ansonsten, danke für die Links. Werd ich mir gleich mal ansehen

Gruß
Booki
__________________
Alle wollen doch nur mein Bestes. Aber sie werden es nicht kriegen!
Bookworm ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.07.2006, 14:23 Nach oben    #8
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 596
Standard

Zitat:
Es gibt aber keinen "jemand"
Wäre ich Hellseher, hätte ich das auch gebachtet
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[JSP] Aktuelle Seite (URL) auslesen WarrenFaith Allgemeine Java-Programmierung 0 11.03.2007 15:41
htaccess - mod_rewrite - requested URL was not found Ben Tools, Server, Betriebssysteme 5 15.03.2006 18:30
OSX + Eclipse 3.1 Problem bacarni Eclipse 3 29.07.2005 21:19
[PHP] Wie übergebe ich Daten per URL? Ben Tutorials 0 05.12.2004 14:36


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45