php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.06.2009, 16:49  
Neuer Benutzer
 
Registriert seit: 14.02.2009
Beiträge: 17
PHP-Kenntnisse:
Anfänger
Zexion befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Regex reagiert an falscher Stelle

Guten Tag,

ich habe bastle im Moment an einem IRC-Bot mit PHP... Nur so eine kleine Spielerei...

Leider bin ich, was das Regex'en angeht, nicht sonderlich bewandt...
PHP-Code:
if( preg_match("/^!keks ((.*))/"$msg$matches) )
        {
            
$blubb irc_extract($buffer'nick''privmsg');
            
$nick substr($matches[2], 0, -1);
            
send("PRIVMSG ".irc_extract($buffer'chan''privmsg')." :".chr(1)."ACTION gibt ".$nick." einen leckeren Keks!".chr(1)."\r\n");
        }
        elseif( 
preg_match("/!keks/"$msg$matches) )
        {
            
$nick irc_extract($buffer'nick''privmsg');
            
send("PRIVMSG ".irc_extract($buffer'chan''privmsg')." :".chr(1)."ACTION gibt ".$nick." einen leckeren Keks!".chr(1)."\r\n");
        } 
Auf das erste, also !keks <username> reagiert der Bot super... Auf das zweite, das !keks auch, aber leider auch wenn ich "!keksdfgdhdfg" oder "Hallo !keks Hallo" eingebe... Er sollte eigentlich nur reagieren wenn man !keks eintippt und dass auch am Anfang des eingegebenen steht.

Wäre schön wenn ihr Hilfestellungen oder Tipps oder sogar Lösungen für mich hättet...

~Zexion
Zexion ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.06.2009, 16:52  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

[MOD: verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 30.06.2009, 17:19  
Erfahrener Benutzer
 
Registriert seit: 19.06.2009
Beiträge: 837
PHP-Kenntnisse:
Fortgeschritten
Jens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nett
Standard

Kannst Du mir mal erzählen, warum die zwei Fälle Deines if-Konstruktes genau den selben Code auslösen? Und warum ist der elseif-Zweig allgemeiner gehalten, als der erste Part?

Gruß Jens
Jens Clasen ist offline  
Alt 30.06.2009, 17:27  
Neuer Benutzer
 
Registriert seit: 14.02.2009
Beiträge: 17
PHP-Kenntnisse:
Anfänger
Zexion befindet sich auf einem aufstrebenden Ast
Standard

Wie man sieht, lösen die beiden Zweige nicht genau das selbe aus... Im ersten Zweig ist $nick der User der nach !keks eingegeben wurde, im zweiten Zweig ist $nick der User der den Befehl !keks geschickt hat.

Und was du mit "Und warum ist der elseif-Zweig allgemeiner gehalten, als der erste Part?" meinst, versteh ich leider nicht...
Zexion ist offline  
Alt 30.06.2009, 18:21  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

"/!keks/" passt doch auf "!keksdfgdhdfg", oder irre ich mich?
wieso wunderst du dich, dass da was ausgelöst wird?
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 30.06.2009, 18:23  
Neuer Benutzer
 
Registriert seit: 14.02.2009
Beiträge: 17
PHP-Kenntnisse:
Anfänger
Zexion befindet sich auf einem aufstrebenden Ast
Standard

Ja genau das ist ja das Problem... Wie mache ich es damit er nur auf !keks und nicht auf !kekssdfgjbg reagiert...
Zexion ist offline  
Alt 30.06.2009, 18:25  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

funktioniert es mit ausschließlich dem ersten nicht?
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 30.06.2009, 18:28  
Neuer Benutzer
 
Registriert seit: 14.02.2009
Beiträge: 17
PHP-Kenntnisse:
Anfänger
Zexion befindet sich auf einem aufstrebenden Ast
Standard

Das hast du wohl falsch verstanden... Das erste funktioniert... Das zweite geht nicht... Wenn ich !keks <username> aufrufe, funktionierts. Wenn ich !keks aufrufe, gehts nicht...
Zexion ist offline  
Alt 30.06.2009, 18:29  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

dann pack nen $ hinter das keks

edit: achja und vll ein ^ davor
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 30.06.2009, 18:32  
Neuer Benutzer
 
Registriert seit: 14.02.2009
Beiträge: 17
PHP-Kenntnisse:
Anfänger
Zexion befindet sich auf einem aufstrebenden Ast
Standard

Wenn ich
PHP-Code:
elseif( preg_match("/!keks$/"$msg$matches) ) 
mache, dann funktionierts leider trotzdem nicht...
Zexion ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] script an bestimmter stelle anhalten und an angehaltener steller weiter au litterauspirna PHP Tipps 2008 15 19.04.2009 12:10
Array sortieren mit regex Lupi PHP Tipps 2008 3 21.07.2008 15:17
Regex: Auslesen der Meta-Tags einer Webseite Sucheingrenzung pepe24 PHP Tipps 2008 12 31.05.2008 15:41
2 Regex in PHP kompatible Syntax übersetzen NoiZy PHP-Fortgeschrittene 6 07.04.2008 09:04
Regex Link Problem Broadcast PHP Tipps 2008 2 29.02.2008 16:30
Gierig/nicht gieriger Regex Papst PHP Tipps 2008 22 02.12.2007 20:15
[gelöst :D ] regex tuts nur einmal pro zeile notyyy PHP Tipps 2008 17 24.09.2007 15:40
RegEx für Mail-Adresse (Bitte prüfen!) vollkommenegal PHP Tipps 2006 13 20.11.2006 20:02
habe ein paar fragen zu REGEX imported_kremser PHP Tipps 2006 11 31.01.2006 15:30
RegEx findet Stringvorkommen nicht PHP Tipps 2007 6 08.12.2005 21:52
Allgemeine RegEx Frage PHP Tipps 2005-2 10 05.07.2005 13:43
RegEx auf starkes passwort und erlaubte zeichen prüfen GothicFiction PHP-Fortgeschrittene 4 10.04.2005 21:10
Regex für attribute in quelltexten robo47 PHP Tipps 2005 6 27.01.2005 18:29
Problem mit regex PHP Tipps 2004 1 09.09.2004 10:00
formular button linkt an interne Stelle PHP Tipps 2004 1 08.06.2004 10:02


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:18 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum