php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.02.2006, 12:02  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard RegEx kürzen

Servus,

ich bin mal wieder bei einen RegEx-Problem

Ich hab folgenden Code:
Code:
<?
$zeile = "Item=Color,name=LogoBG,default=#D08EA4E3;";

$pattern = "/^item=(.*?),name=(.*?),default=#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2});\$/i";
preg_match($pattern, $zeile, $match);
echo "<pre>" . print_r($match, true) . "</pre>";

$pattern = "/^item=(.*?),name=(.*?),default=#([a-f\d]{2}){4};\$/i";
preg_match($pattern, $zeile, $match);
echo "<pre>" . print_r($match, true) . "</pre>";
?>
und folgende Ausgabe:
Zitat:
Array
(
[0] => Item=Color,name=LogoBG,default=#D08EA4E3;
[1] => Color
[2] => LogoBG
[3] => D0
[4] => 8E
[5] => A4
[6] => E3
)

Array
(
[0] => Item=Color,name=LogoBG,default=#D08EA4E3;
[1] => Color
[2] => LogoBG
[3] => E3
)

der 1. RegEx ist relativ lang also hab ich mir gedacht verkürz ich das ganze einfach aber egal wie ich die Klammernsetze setze matcht der mir nur die letzte Hex-Zahl. Gehts das evl. irgendwie anders oder muss ich wirklich den langen RegEx verwenden?
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.02.2006, 13:05  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

wo ist das Problem bei einem langen regex?
Buhmann ist offline  
Alt 16.02.2006, 13:15  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hilft vielleicht der Modifier U (ungreedy)? Ergäbe jetzt nicht unbedingt Sinn, aber man weiß ja nie...

Abgesehen davon, wie wärs mit explode() und normaler Stringverarbeitung?
Zergling-new ist offline  
Alt 16.02.2006, 13:34  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von Zergling
Abgesehen davon, wie wärs mit explode() und normaler Stringverarbeitung?
ist mir zu umständlich da ich den Hexwert in Alpha, Red, Green, Blue splitten muss ... so sinds nur 3 Zeilen code
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev ist offline  
Alt 16.02.2006, 15:32  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Code:
$pattern = "/^item=(.*?),name=(.*?),default=#(([a-f\d]{2}){4});\$/i";
Was gibt das denn aus? (ich habe um (){4} nochmal Klammern gezogen)
Zergling-new ist offline  
Alt 16.02.2006, 15:44  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard Re: RegEx kürzen

laut Kodos das gleiche wie mein 2. Pattern hab aber oben auch dabei geschrieben

Zitat:
Zitat von HStev
...aber egal wie ich die Klammernsetze setze matcht der mir nur die letzte Hex-Zahl.
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev 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
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
Regex löscht alle Zeilenumbrüche. Anduril PHP Tipps 2006 3 16.10.2006 22:36
ACCEPT-ENCODING: gzip, regex ermittlung Andreas PHP-Fortgeschrittene 7 04.02.2006 16:52
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
regex Funktion PHP Tipps 2005-2 6 18.06.2005 02:46
Regex für attribute in quelltexten robo47 PHP Tipps 2005 6 27.01.2005 18:29
Regex über mehrere zeilen PHP-Fortgeschrittene 3 25.12.2004 16:48
[Erledigt] Regex für selektives Replacement PHP-Fortgeschrittene 2 25.12.2004 15:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array mit regex kürzen, ab zeichen kürzen regex, regex kürzen, regex zeichen ab einer stelle abschneiden, regular expression testen kürzen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:58 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.