AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] PCRE und optionales

Ein Thema von CalganX · begonnen am 31. Mai 2004 · letzter Beitrag vom 31. Mai 2004
Antwort Antwort
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP] PCRE und optionales

  Alt 31. Mai 2004, 16:41
Hi,
ich habe das selbe Problem bei zwei verschiedenen Websiten.
Beim ersten geht es um einen Klausurplan. Darin steht die Kursnummer in der Form Fach + L oder G (Leistungs- oder Grundkurs) + Schuljahr. Wobei das Schuljahr nicht immer da steht. Um den Fachnamen zu erkennen habe ich von einem anderen Schüler folgenden regulären Ausdruck bekommen:
Code:
preg_match("/^(.*)(L|G)(\d*|.*)$/i",$row["charKursNr"],$fach);
Funktioniert auch ganz gut.
Allerdings gibt es seit diesem Schuljahr noch weitere Kurs, in denen zwischen dem Fachnamen und dem L (bzw. dem G) noch ein e oder ein z steht, das nicht zum Fachnamen gehört.

Gibt es jetzt eine Möglichkeit PHP zu sagen, dass dieses e/z nur optional da ist?

Ein sehr ähnliches Problem habe ich bei der Erkennung von URL-Adressen. Generell habe ich folgenden Ausdruck (aus dem phpBB, bekommen von Daniel):
Code:
      $match[0] = '#(^|[\n ])([\w]+?://(.*?)[^ \t\n\r<"]*)#ie';
      $replace[0] = "'\\1<a href=\"\\2\" target=\"_blank\">' . ((strlen('\\2') > 40) ? substr('\\2', 0, 20) . ' ... ' . substr('\\2', -20) : '\\2') . '</a>'";
Allerdings suche ich jetzt nach einer Lösung, wie ich das Protokoll optional machen kann.
Also, dass
Code:
[\w]+?://
kommen kann, aber nicht muss.

Hoffentlich ist mein Problem einigermaßen verständlich angekommen.

Hat jemand für das Problem/die Probleme eine Lösung?

Chris
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: [PHP] PCRE und optionales

  Alt 31. Mai 2004, 16:44
Hi,

zu den URLs ist mir noch eine Idee bekommen.

Wie wärs, wenn du einfach prüfst, ob ein Protokoll vorangestellt ist, und wenn nicht, dann hängst du einfach eines dran. Ist zwar nicht direkt mit RegEx gelöst, aber es sollte gehen...

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: [PHP] PCRE und optionales

  Alt 31. Mai 2004, 16:45
Hi,
hmm... das muss aber einfacher gehen.
Es muss ja irgendwie gehen. Laut der PHP-Dokumentation muss ich ein ? dahinter setzen, aber das funktioniert in keinem der beiden Fälle.

Chris
  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 14:25 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