:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Array mit regulärem Ausdruck durchsuchen |
Beispielaufgabe
Es soll mittels regulärem Ausdruck in einem Array (eindimensional) gesucht werden.
Beschreibung
Die folgende Funktion durchsucht ein Array ($arHaystack) an Hand eines regulären Ausdrucks ($strPattern). Der reguläre Ausdruck muss gültig sein, sprich er muss von Delimitern umschlossen sein und gegebenenfalls müssen Modifikatoren angehängt werden. $bTarget definiert welcher Teil des Arrays durchsucht werden soll. Wird TRUE (Standard) übergeben, dann sucht die Funktion in den Array-Werten, bei FALSE in den Array-Schlüsseln. Setzt man $bReturn auf TRUE (Standard), dann enthält das zurückgegebene Array die Array-Schlüsseln, wird FALSE gesetzt, enthält es die Array-Werte. Findet die Funktion keine Übereinstimmung(en) im Array, gibt die Funktion FALSE zurück.
<?PHP
function arrayRegexSearch ( $strPattern, $arHaystack,
$bTarget = TRUE, $bReturn = TRUE )
{
$arResults = array ();
foreach ( $arHaystack as $strKey => $strValue )
{
$strHaystack = $strValue;
if ( !$bTarget )
{
$strHaystack = $strKey;
}
if ( preg_match ( $strPattern, $strHaystack ) )
{
if ( $bReturn )
{
$arResults[] = $strKey;
}
else
{
$arResults[] = $strValue;
}
}
}
if ( count ( $arResults ) )
{
return $arResults;
}
return FALSE;
}
?>
|
Anwendungsbeispiel
<?PHP
$arHaystack = array ( 'Damir', 'Renata', 'daniel' );
var_dump ( arrayRegexSearch ( '/Da/i', $arHaystack, TRUE, FALSE ) );
?>
|
Ausgabebeispiel: Quellcodeansicht
array(2) {
[0]=>
string(5) "Damir"
[1]=>
string(6) "daniel"
} |
|
|
|
|
|
|