Autor |
Nachricht |
smile jamaica
Threadersteller
Dabei seit: 31.10.2003
Ort: Freiburg
Alter: 39
Geschlecht:
|
Verfasst Fr 02.04.2004 14:09
Titel [PHP] Reguläre Ausdrücke |
|
|
ja mal wieder die regülären ausdrücke
ich möchte abfragen ob in einem string falls vorhanden zwischen @ und . irgendwas mit neumann steht.
z.B. xyz@xyzneumannxyz.xyz
wobei ich das zwischen @ und . ersetzen möchte
mein pattern: "=.*(@.*neumann.*\.)+=i" stimmt der, bzw. kann ich das mit "@blabla.de" ersetzen? (preg_replace)
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Fr 02.04.2004 14:13
Titel
|
|
|
hast du es denn einmal ausprobiert? wenns nicht klappt, stimmts auch bestimmt nicht...
|
|
|
|
|
Anzeige
|
|
|
smile jamaica
Threadersteller
Dabei seit: 31.10.2003
Ort: Freiburg
Alter: 39
Geschlecht:
|
Verfasst Fr 02.04.2004 14:15
Titel
|
|
|
ja ne, ich habs erst hier rein gepostet und dann in meinen code gehauen und getestet, denn es war mir klar dass er nicht funzt.
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Fr 02.04.2004 14:28
Titel
|
|
|
versuchs mal mit dem suchmuster, welches innerhalb der funktion in $pattern drinsteht:
Code: | <?
function mailtest($mail) {
$pattern='/.+@.*neumann.*\.\w+/';
if (preg_match($pattern, $mail)) {
echo <h3>.$mail.: treffer!</h3>;
}
else echo <h3>.$mail.: kein treffer!</h3>;
}
$mail=hallo@hansneumann.de;
mailtest($mail);
$mail=test@hansneufrau.com;
mailtest($mail);
?> |
|
|
|
|
|
smile jamaica
Threadersteller
Dabei seit: 31.10.2003
Ort: Freiburg
Alter: 39
Geschlecht:
|
Verfasst Fr 02.04.2004 14:29
Titel
|
|
|
wofür sry?
ich hab zu danken.
das pattern würde so funktionieren, aber was ich eigentlich möchte ist,
dass er z.B. "blablablamailto:sascha@blaneumannbla.bla" zu "blablablahref://file.php?a=sascha" ersetzt aber wie gesagt nur, wenn er neumann nach dem @ findet.
muss ich dass, was er ersetzten soll (preg_replace) in () setzen?
Zuletzt bearbeitet von smile jamaica am Fr 02.04.2004 14:30, insgesamt 1-mal bearbeitet
|
|
|
|
|
WurstOderWas
Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht:
|
Verfasst Fr 02.04.2004 14:34
Titel
|
|
|
probier das hier mal:
Code: | preg_match(/@neumann\..{2,4}$/,$String, $match); |
Ergebnismenge is dann in $match[0];
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Fr 02.04.2004 14:37
Titel
|
|
|
jo, verstehe. dann mach das einfach so:
Code: | <?
function mailtest($mail) {
$pattern='/(.+)@.*neumann.*\.\w+/';
if (preg_match($pattern, $mail, $treffer)) {
echo <h3>.$mail.: treffer!</h3>;
echo meine URL lautet: irgendwas.de?mail=.$treffer[1];
}
else echo <h3>.$mail.: kein treffer!</h3>;
}
$mail=hanswurst@hansneumann.de;
mailtest($mail);
$mail=test@hansneufrau.com;
mailtest($mail);
?> |
//
ach, der oben war schneller, aber so wie ich das verstehe, soll nicht nur mail@neumann.de gefunden werden, sondern bspw. auch heinzschenk@einneumannstehtimwald.de. und da passt mein beispiel besser.
Zuletzt bearbeitet von am Fr 02.04.2004 14:40, insgesamt 1-mal bearbeitet
|
|
|
|
|
smile jamaica
Threadersteller
Dabei seit: 31.10.2003
Ort: Freiburg
Alter: 39
Geschlecht:
|
Verfasst Fr 02.04.2004 14:46
Titel
|
|
|
$neu_text = preg_replace("=mailto:(.*)@.*neumann.*\..*\]=iU", "href://www.neumannundmueller.de/root/100/10014,,,.php?e=]", $text);
danke an euch, aber hab in der zeit auch eins gemacht
das einzigste problem ist, das ich (.*) nach dem e= anhängen möchte.
geht das? und wenn ja wie? ansonsten funktionierts super
|
|
|
|
|
|
|
|
Ähnliche Themen |
reguläre ausdrücke
[Erledigt] [PHP] Reguläre Ausdrücke
[Tutorial gesucht]Reguläre Ausdrücke
[php] reguläre audrücke
|
|