php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.02.2007, 19:41  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard regex, letztes zeichen

ich habe das problem, dass bei preg_match (.*?). das letzte zeichen nie da ist.

mein code (auszug): ich habe ein wenig den array gekürzt
Code:
function regex($lookfor)
	{
;
		$reg['rosen'] = "/verschenkt
        <img border=0 src=\"..\/..\/images\/gt.gif\"> [b]<FONT COLOR=\"#FF0000\">(.*?).<FONT COLOR=\"#000000\" SIZE=2><\/B><FONT COLOR=\"000000\"> <img border=0 src=\"..\/..\/images\/rose.gif\"> erhalten/sim";
		
		if(isset($reg[$lookfor])) { return $reg[$lookfor]; 
		}
			else { $this->debug('regulärer Ausdruck wurde nicht gefunden - funktion regex()'); 
		}
		
	}

dann wird das ganze hierdurch gejagt:

Code:
	function norm_reg_func($reg)
	{
	$str = 
Code:
$this->check_webwhois()
; preg_match($this->regex($reg),$str,$matches); return $matches[1]; }
inhalt der $this->check_webwhois() (auszug)
Code:
/present.gif'"></a> verschenkt
        [img]../../images/gt.gif[/img] <FONT COLOR="#FF0000">74<FONT COLOR="#000000" SIZE=2><FONT COLOR="000000"> [img]../../images/rose.gif[/img] erhalten
als ergebniss wird mit 7 geliefert , und nicht 74, warum ?

das problem habe ich bei 3 von 2 regulären ausdrücken....
notyyy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.02.2007, 20:39  
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

weil du die zeichen mit
(.*?).
zu finden versuchst. Der Punkt ist ein character. Aber mal ehrlich, mit regulären Ausdrücken hat dein konstrukt nicht viel zu tun...
nikosch ist offline  
Alt 12.02.2007, 20:59  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

(.*?) alleine geht nicht, wie müsste es denn sein ?

ich bin 16 jahre und gerade total über der anleitung für reguläre ausdrücke gescheitert und brauch wohl noch ein bisle übung bis ich da die grundkentnisse drin habe...


edit. habs ^^ \
notyyy ist offline  
Alt 12.02.2007, 21:54  
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

Geht nicht gibts nicht. Was passiert denn in diesem Fall? Bei regulären Ausdrücken kommts drauf an, einen typischen Zeichenteil zu finden und den Ausdruck möglichst genau zu formulieren. Falls du bspw. immer Zahlen an der Stelle erwartest könntest du statt (.*?) lieber (\d*) verwenden...
nikosch ist offline  
Alt 12.02.2007, 22:46  
CIX88
Gast
 
Beiträge: n/a
Standard

Bei dem Suchpattern zieht es mit glatt die Schuche aus

Alle Punkte die im Pattern die nicht mit \ gesetzt sind, gilt als belibiges Zeichen.
Dann solltest du besser einen anderen Delimiter als / benutzen, das erspart dir \/ etc...
Den Modifer m kannste raus nehmen.

Und dort, wo der Inhalt unklar ist, bzw. sich ändern kann einfach ein .*? ohne runde Klammern (Gruppierung) rein.
Nur dort eine Gruppierung setzen, was später im Array erscheinen soll.

Ansonsten viel Spass ...
 
 


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
Benutze Zeichen anzeigen! cokotech Datenbanken 3 06.06.2008 18:24
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
erste 7 zeichen überprüfen aircrash PHP Tipps 2008 1 28.09.2007 09:11
Regex Problem in Verbindung mit ASCII Zeichen R4v3r PHP Tipps 2007 4 15.02.2007 17:41
Wieviel Pixel hat ein Zeichen? Ausmessen eines DIV-Container webazubi PHP-Fortgeschrittene 4 06.07.2006 14:52
wieder mal: regex -> zeichen ausschließen felicitas PHP Tipps 2005 6 21.04.2005 15:14
RegEx auf starkes passwort und erlaubte zeichen prüfen GothicFiction PHP-Fortgeschrittene 4 10.04.2005 21:10
php string letztes zeichen herausfinden 4x4styling PHP Tipps 2005 2 02.03.2005 15:18
Regex für attribute in quelltexten robo47 PHP Tipps 2005 6 27.01.2005 18:29
letztes zeichen Datenbanken 4 10.12.2004 11:28
letztes zeichen eines elements eines array PHP Tipps 2004-2 6 08.12.2004 16:32
Die 1. 15 Zeichen anzeigen imported_Lumio PHP Tipps 2004 2 23.08.2004 16:16
Letztes Zeichen enfernen PHP Tipps 2004 1 30.06.2004 21:16

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
regex letztes zeichen, regex \letztes zeichen\, regular expression letztes zeichen, php preg_match letztes zeichen, php regex letztes zeichen, regular expression letztes vorkommen, regex erstes zeichen php, regexp letztes vorkommen eines zeichens, regular epxression php letztes zeichen, php pregmatch letztes zeichen löschen, regular expressions letztes zeichen, letztes zeichen regex, search( regex letztes zeichen, letztes zeichen ermitteln regex, wiki regular expression letzte zeichen, php regex letzten zeichen, regexp php nur letztes zeichen, regular expression letztes zeichen suchen, php regex alles ausser letztes zeichen, php regex \letztes zeichen\

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