PHP Befehl preg match all
Schönen guten Morgen!
Ich stoße derzeitig auf einem Problem bei dem Befehl "preg_match_all".
Mein Ziel ist alle 11 in einem String zu erkennen, wo vor und hinter der 11 keine 1 steht.
Beispiel habe ich den String:
1145111311511411115611
In diesem String sollen nun exakt 4x 11Paare ausgegeben.
Mit meinem Code:
Erhalte ich nun nur das Ergebnis 3. Da in dem Block (3115114) nur die erste 11 erkannt wird.
Könnt ihr mir da bitte weiterhelfen?
Vielen Dank!
Matthias
Ich stoße derzeitig auf einem Problem bei dem Befehl "preg_match_all".
Mein Ziel ist alle 11 in einem String zu erkennen, wo vor und hinter der 11 keine 1 steht.
Beispiel habe ich den String:
1145111311511411115611
In diesem String sollen nun exakt 4x 11Paare ausgegeben.
Mit meinem Code:
<?php
$muster = "/\A11[^1]|[^1]11[^1]|[^1]11\Z/";
$string = 1145111311511411115611;
echo preg_match_all($muster, $string, $erg);
?>
Könnt ihr mir da bitte weiterhelfen?
Vielen Dank!
Matthias
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 281870
Url: https://administrator.de/forum/php-befehl-preg-match-all-281870.html
Ausgedruckt am: 27.04.2025 um 01:04 Uhr
2 Kommentare
Neuester Kommentar

Moin,
Gruß jodel32
$string = '1145111311511411115611';
preg_match_all('/(.?)11(.?)/i',$string,$result);
$cnt = 0;
for($i = 0; $i < count($result[1]);$i++){
if(($result[1][$i] != "1") && ($result[2][$i] != "1")){$cnt++;}
}
echo "Anzahl: $cnt";