Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

PHP Regex

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 19.02.2007, 17:17    Titel: PHP Regex Antworten mit Zitat

Hi, ich habe ein kleines problem...
ich arbeite zur zeit mit regex (regulären ausdrücken) in php und weiß nicht so ganz weiter...

Code:

    $urlex_regex = "\[url=(.+?)\](.+?)\[\/url\]";
    $text = preg_replace_callback("/$urlex_regex/i", "bbcode_urlex", $text);


wenn zwischen [url=...] und [/url] ein zeilenumbruch ist, wird der text nicht verarbeitet. wie kann ich das problem lösen?
(ich weiß, url is jetzt ein blödes beispiel, aber das war halt grad aufm bildschirm happy)
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 20.02.2007, 01:15    Titel: Antworten mit Zitat

schneid einfach die newlines raus..

$text=str_replace("\r", "\r\n", preg_replace_callback("/$urlex_regex/i", "bbcode_urlex", str_replace(array("\r\n", "\n"), "\r", $text)));

dürfte gehen.. könnte durchaus ne bessere variante geben, eventuell kannst du mit irgendwelchen modifiern im regex das ganze noch so anpassen, das . auch newlines matcht, aber wo ich das irgendwann mal (wenn auch nur halbherzig) versucht hatte gings irgendwie nicht, ich hatte es dann so gelöst..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 20.02.2007, 02:16    Titel: Antworten mit Zitat

\r\n wäre ja auch ein zeilenumbruch, ich hatte auch zurerst diese dreckige variante angewendet (\n durch \b ersetzt), aber inzishcen ahb ich rausgefundne, dass man mit "(?s)(.*?)" auch zeilenumbrüche berücksichten kann.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 20.02.2007, 18:05    Titel: Antworten mit Zitat

sollte es dir nicht aufgefallen sein, ich hab zwei str_replace. Einmal werden alle Zeilenumbrüche (\r, \n, \r\n) durch \r ersetzt, nur \n stört den regex, und nach dem regex wird aus allen \r dann wieder ein \r\n, vollständiger zeilenumbruch.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 20.02.2007, 18:20    Titel: Antworten mit Zitat

is trotzdem ne dreckige variante zwinkern hab ja zum glück nun den richtigen ausdruck gefunden lächeln
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz