AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Auf Kriegsfuss mit Regulären Ausdrücken
Thema durchsuchen
Ansicht
Themen-Optionen

Auf Kriegsfuss mit Regulären Ausdrücken

Ein Thema von phlux · begonnen am 7. Mär 2005 · letzter Beitrag vom 7. Mär 2005
Antwort Antwort
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#1

Auf Kriegsfuss mit Regulären Ausdrücken

  Alt 7. Mär 2005, 12:25
Hallo!
Bin hier gerade am verzweifeln, ich schreibe für mein PHP Projekt einen kleinen Textparser der mir in einem Text alle Stellen vonm typ [URL|Beschreibung] in
Code:
[url="URL"]Beschreibung[/url]
ändern soll, so weit so gut das kann er ja jetzt
Allerdings wollte ich eine Zusatzfunktion einbauen, dass er alle einfach vorkommenden URL's auch in die <a>-tags packt. Doch das dumme ist jetzt das diese Funkion auch schon vorhandene <a>-Tags aufmischt so das man ein Ergebnis dieser Sorte erhält:
Code:
[url="<a href="][/url]">Beschreibung</a>
Das ist natürlich sch...lecht also hab ich mir gedacht wenn schon href=" vor der url steht sollte er das dingen nicht mehr parsen, allerdings verzweifle ich jetzt an dem RegExp Ausdrück dafür, meiner sieht wie folgt aus:
Code:
[^(href\=\")](http\:\/\/)([\w|-|_|/|\.]+)
Doch so wie er da steht spuckt er mir kein ergebnis aus, egal ob ich jetzt einfach eine URL als zielstring nehme oder eine url mit href=" voraus
Weiß jemand wo der Hund in dem Ausdruck begraben ist? Bin für jede Hilfe dankbar!

mfg phlux
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Auf Kriegsfuss mit Regulären Ausdrücken

  Alt 7. Mär 2005, 12:28
Du musst theoretisch nur filtern ob direkt vor der URL ein " ist... Wenn das der Fall ist, dann is die URL in nem a Tag, ansonsten nicht ;>
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#3

Re: Auf Kriegsfuss mit Regulären Ausdrücken

  Alt 7. Mär 2005, 12:36
Ja auch wenn ich nur nach dem " gucke funzt es nit
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#4

Re: Auf Kriegsfuss mit Regulären Ausdrücken

  Alt 7. Mär 2005, 13:18
Was hältst du von einem Ausdruck, der etwa so aussieht?
Code:
  $result = pref_match("/\[(.*)\|(.*)\]/", $input, $result);
  echo "<a href=\"{$result[2]}\">{$result[1]}</a>";
(Ungetestet)
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
opfer.der.genauigkeit

Registriert seit: 14. Feb 2005
66 Beiträge
 
#5

Re: Auf Kriegsfuss mit Regulären Ausdrücken

  Alt 7. Mär 2005, 13:22
Vielleicht ist das hier genau was du suchst.

Zitat:
In diesem Beispiel durchsuchen wir einen text nach irgendwas und ersetze es durch einen Link – so wie offizieller BB-Code:

$string = eregi_replace("\\[url=([^\\[]*)\\]([^\\[]*)\\[/url\\]","<a href=\"\\1\" target=\"_blank\">\\2</a>",$string); -na? Alles klar? *g* - Guckt’s euch mal genau an: Die erste klasse steht hinter dem und – sie wird als \\2 wiedergegeben.
Hier zu finden: Hier
Stellen Sie sich bitte Zirkusmusik vor.
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#6

Re: Auf Kriegsfuss mit Regulären Ausdrücken

  Alt 7. Mär 2005, 13:30
wohoo moment leute, den fall den ihr jetz hier beschreibt hab ich schon längst, es geht nur darum das ich es nicht gebacken kriege, das er zwischen einem einfachen http://www.irgendwas.de (gut) und einem blabla (pfui) unterscheiden kann und mir letzteres nochmals zerpflückt.
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#7

Re: Auf Kriegsfuss mit Regulären Ausdrücken

  Alt 7. Mär 2005, 13:32
Das macht mein regulärer Ausdruck
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#8

Re: Auf Kriegsfuss mit Regulären Ausdrücken

  Alt 7. Mär 2005, 13:39
Moment, dein Audruck zerpflückt zB [blabla|blubblub] in blabla oder sehe ich das falsch?=
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#9

Re: Auf Kriegsfuss mit Regulären Ausdrücken

  Alt 7. Mär 2005, 13:49
Tut er *g* Das wolltest du doch, oder?
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#10

Re: Auf Kriegsfuss mit Regulären Ausdrücken

  Alt 7. Mär 2005, 14:09
Nope, wie bereits oben beschrieben habe ich 2 RegExp:

RE1: liest alle [url|text] aus und wandelt sie passend ins <a href... um! den habe ich bereits
RE2: soll alle einfachen http:// urls auslesen und sie dann in einen <a href verweis umwandeln

wenn ich jetzt re1 aauf den text anwende ist alles iO wende ich allerdings re2 danach noch an wandelt er mir die bereits zu <a href verweise nochmals in einen verweis um, also in <a href="<a href="http: ...
das will ich nicht, also habe ich mir überlegt soll re2 nur greifen, wenn kein " oder ein lerzeichen vor der url steht, das habe ich ansatzweise versucht mit
Code:
[^(href\=\")](http\:\/\/)([\w|-|_|/|\.]+)
zu realisieren, klappt allerdings nicht, weil er so garnichts findet und genau bei dem Ausdruck brauch ich jetzt hilfe, also er soll gucken ob ein " vorsteht, dann finger weg, steht nix (zeilenanfang) oder ein leerzeichen davor dann wandel ihn in ein <a>-Tag um, ich hoffe das war jetzt verständlicher
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Antwort Antwort


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz