• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

bestimmte Regular Expression gebraucht

Busta_inaktiv

Guest
und ich habe leider kaum Ahnung davon.

Wie schließt man ein bestimmtes Ende eines Strings aus?

konkret:
EINDEUTIGE_ZEICHENFOLGE/filename.ext?bla=1 includieren,
EINDEUTIGE_ZEICHENFOLGE/filename.ext?bla=1&blubb=2 hingegen nicht?
 
Mitglied seit
03.08.2002
Beiträge
3.257
Reaktionen
14
eh ich hier regular expressions poste, frag besser ab, ob es die get variable gibt, bzw werte sich richtig aus.

so a la:
if (!isset($_GET['blubb']))
{
...
}

EDIT: Hier, das sollte eigentlich gehen:

Code:
<?
	function debug($arg)
	{
		print "<pre>";
		print_r($arg);
		print "</pre>";
	}

	$str1 = "EINDEUTIGE_ZEICHENFOLGE/filename.ext?bla=1";
	$str2 = "EINDEUTIGE_ZEICHENFOLGE/filename.ext?bla=1&blubb=1";
	
	$expr = "~^EINDEUTIGE_ZEICHENFOLGE\/filename.ext\?bla=1$~"; 
	
	preg_match_all($expr,$str1,$matches1);
	
	preg_match_all($expr,$str2,$matches2);
	
	debug($matches1);
	debug($matches2);
?>
 

Busta_inaktiv

Guest
Die Möglichkeit hab ich leider nicht. Das Problem entsteht bei der Benutzung eines Programms - es gibt ausschließlich eine Whitelist, die immerHIN RegExp versteht.

edit: immerHIN
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
Original geschrieben von Busta
und ich habe leider kaum Ahnung davon.

Wie schließt man ein bestimmtes Ende eines Strings aus?

konkret:
EINDEUTIGE_ZEICHENFOLGE/filename.ext?bla=1 includieren,
EINDEUTIGE_ZEICHENFOLGE/filename.ext?bla=1&blubb=2 hingegen nicht?
um das mal zu rekapitulieren:
1. du willst eine get-variable uebergeben lassen, eine zweite aber nicht?
2. du willst, dass "filename.ext?bla=1" das absolute ende des strings darstellt?

ersteres kann ich dir jetzt so ohnehin auch nicht sagen, fuers zweite duerfte wohl reichen, wenn du ein "$" ans ende des strings setzt (und die restlichen zeichen escapest). das signalisiert das ende des strings, wobei ^ den anfang zeigt.
 

Busta_inaktiv

Guest
Danke Butze! Hab dir ja richtig Arbeit gemacht, sry...
Was machen die Tilden in deinem Ausdruck?

Thx auch Bog, http/php sollte hier keine Rolle spielen, das war zufällig ein solches Anwendungsbeispiel.

Nun bin ich mit
/.*EINDEUTIGE_ZEICHENFOLGE.*\?bla=1$/
vollkommen zufrieden. Mit Dollars kannte ich mich halt nicht aus :[
 
Oben