phpbar.de logo

Mailinglisten-Archive

[php] regex | Strings | Bedingung

[php] regex | Strings | Bedingung

Olaf Gleba list at creatics.de
Die Jun 15 01:46:16 CEST 2004


Hallo Michael,

Am 14.06.2004 22:18 Uhr schrieb "Michael Siebert" unter
<fallen at webbuildersnet.de>:

> versuchs doch einfach mal mit:
> 
> if (stristr($string, 'suchwort1') !== false &&
>   stristr($string, 'suchwort2') !== false)

Ich hatte bewußt nach einer entsprechenden Regex gefragt, da ich diese
zwingend brauche,- in meinem Ansatz.

Grundprinzip der Funktion ist folgendes(stark vereinfacht):

// $toMatch ist ein _GET Array
function parseSearch($toMatch)
{

//Ich hole mir Text aus einem File
$contents = file_get_contents($filename);

// hier kommen verschiedene Bedingungen, anhand derer die $this->searchRegex
gebildet werden soll
if (preg_match('/hassenichgesehen/', $toMatch) {
$this->searchRegex = 'hier die Regex als literal';
...
}

// mit strpos frage ich zwar eine Bedingung ab,- die Regex, die ich später
brauche, muss aber ja auch hier gebildet werden
if (strpos($contents, $toMatch) !== FALSE) {
$this->searchRegex = 'hier die Regex als literal';
}


//die endgültige Regex für das ganze file
if (preg_match_all('/(\[\[.[^\[]+)('.$this->searchRegex.')(.[^\]]+\]\])/i',
$contents, $match) {

durchlaufe verschiedene Schleifen und printe entsprechend...
}


D.h, die Regex muss dieses 'Match, wenn String1 UND String2 im suchstring
vorhanden ist' wiederspiegelen,- oder eben 'nur dann Match, wenn im
Suchstring nicht beide Strings (string1, string2) vorhanden sind.


gruss
Olaf



-- 
Olaf Gleba | creatics media.systems
http://www.creatics.de | mailto:og at creatics.de


php::bar PHP Wiki   -   Listenarchive