Portal > Foren > PHP > PHP-Programmierung > Regex Hilfe bitte
Antwort
 
Themen-Optionen
Alt 01.05.2006, 15:28 Nach oben    #1
Benutzer
 
Registriert seit: 03.03.2006
Beiträge: 31
Standard Regex Hilfe bitte

Hallo,
ich habe folgenden String:
[EMAILSUBJEKT = "Ihre Anmeldung zu unserem Newsletter"]
und muss damit folgendes machen:

1. brauche ich den ganzen String, den ich an "[EMAILSUBJEKT" erkenne, um ihn durch etwas ersetzen zu können
2. brauche ich aus eben jenen String, das, was zwischen den "" steht.

Ich kenne mich um ehrlich zu sein, überhaupt nicht mit regex aus, bitte erklärt mir, wie ich das zu Stande bringe.

Danke und viele Grüsse!!
heohni ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 15:42 Nach oben    #2
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 449
Standard

Zitat:
Ich kenne mich um ehrlich zu sein, überhaupt nicht mit regex aus, bitte erklärt mir, wie ich das zu Stande bringe.
Les dir einfach mal ein RegEx Tutorial durch und dann sollte das für dich kein Problem sein.
http://www.regenechsen.de/phpwcms/index.php?regex_dt_tb

Und dann das hier anschauen und verstehen:
PHP-Code:
<?php
$str 
'[EMAILSUBJEKT = "Ihre Anmeldung zu unserem Newsletter"]';

$mail preg_replace('/\[(.*) \= "(.*)"\]/isUe''getAdressAndMessage("\\1", "\\2")'$str);

var_dumpexplode('|'$mail) );

// funktion um die email und die nachricht zu erhalten
function getAdressAndMessage($adress$message) {
    return 
$adress.'|'.$message;
}
?>
__________________
Corvin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 18:59 Nach oben    #3
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 521
Standard

dein regex findet aber auch
Code:
[Das ist nicht der Betreff = "LOL"]
also müsste der regex so heißen
Code:
\[EMAILSUBJECT \= "(.*)"\]
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 19:41 Nach oben    #4
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 449
Standard

Naja .. das sollte auch keine endgültige Lösung sein, sondern mehr ein Ansatz.
__________________
Corvin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.05.2006, 11:01 Nach oben    #5
Benutzer
 
Registriert seit: 03.03.2006
Beiträge: 31
Standard

Hi,

habe jetzt das folgende probiert:

$search = preg_match_all('/\[EMAILSUBJECT \= "(.*)"\]/',$messageToOwner,$found);
$subject = $found[1][0];

Damit klappt es ganz gut.

Wenn ich nun eben ganz aus der Vorlage diese Zeile aber löschen will,
$body = ereg_replace('/\[EMAILSUBJECT \= "(.*)"\]/', '', $messageToOwner);
löscht es gar nichts weg. $messageToOwner bleibt unverändert.

Hier mal ein Teil des Inhaltes der $messageToOwner:
[EMAILSUBJECT = "Objektanfrage über mallorca-property.eu REF. {REF}"]
Sehr geehrte/r {APPELLATION} {NAME} {SURNAME},
soeben hat sich ein Interessent mit den folgenden Daten:
Name: {POSTNAME}
Nachname: {POSTSURENAME}
etc, etc

Und ganz komisch, mache ich dies:
$body = ereg_replace($found[0][0], '', $messageToOwner);
erhalte ich das:
[-] /{PPN}{N}{N}, ssssD: N:{PN} N:{PN} :{PHN} ::{P} W:{P} z:{NK}ss {PN}{PN}K, sWszws{PWKDY}{PWKDYN}/Wzws{PW}{PWN} -------------------------------- N: {PG}

Hilfe
heohni ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.05.2006, 11:10 Nach oben    #6
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

$body = ereg_replace('/\[EMAILSUBJECT \= "(.*)"\]/', '', $messageToOwner);
daraus machste
$messageToOwner = ereg_replace('/\[EMAILSUBJECT \= "(.*)"\]/', '', $messageToOwner);
dann klappt das mit dem löschen innerhalb der variable.
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.05.2006, 12:26 Nach oben    #7
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Und statt ereg_ nimmst du preg_ .
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.05.2006, 14:14 Nach oben    #8
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

PCRE brauchst du bei sowas nicht. eregi_*() wäre aber angebracht, damit die Tags case-insensitive sind.
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.05.2006, 16:33 Nach oben    #9
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Ich sehe aber keinen Grund, PCRE nicht zu benutzen. Es ist schneller, neuer, und case-sensitive lässt sich ebenso mit dem Delimiter i ganz einfach einbauen.
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.05.2006, 10:54 Nach oben    #10
Benutzer
 
Registriert seit: 03.03.2006
Beiträge: 31
Standard

Super, mit
$messageToOwner = preg_replace('/\[EMAILSUBJECT \= "(.*)"\]/', '', $messageToOwner);
klappt es! Vielen, vielen Dank!!
heohni ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen 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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ich brauche Hilfe bei der Administration meines rootservers! Firat Plauderecke 7 07.09.2007 07:40
Suche Hilfe für eine Portalseite bl-25 PHP-Programmierung 36 29.05.2007 15:57
Brauche Hilfe auf dem Handy/Telefon-Tarif-Markt Ben Plauderecke 5 20.11.2006 16:50
Regex Hilfe gesucht ljungi PHP-Programmierung 15 05.11.2006 15:41
Suche String.replaceAll ohne Regex Sicaine Allgemeine Java-Programmierung 7 20.09.2005 10:02


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:36 Uhr.


Powered by vBulletin® Version 3.7.3 (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