Ich habe Probleme beim Extrahieren mehrerer Zeichenfolgen zwischen Tags aus einer Variablen, um sie innerhalb eines Bereichs einzeln zu echo.
Das Ding ist, werden die Tags in Frage durch eine Variable bestimmt, hier ist, wie es aussieht:Extrahieren Sie mehrere Strings aus einer Variablen mit preg_match
<?php
$string = "[en_UK]english1[/en_UK][en_UK]english2[/en_UK][fr_FR]francais1[/fr_FR][fr_FR]francais2[/fr_FR][fr_FR]francais3[/fr_FR]";
$lang = "en_UK";
preg_match("/(.[$lang]), (.[\/$lang])/", $string, $outputs_list);
foreach ($outputs_list as $output) {
echo "<span>".$output."/span>";
}
// in this exemple I want to output :
// <span>english1</span>
// <span>english2</span>
?>
Es ist mein erstes Mal mit preg_match und nach dem Versuch, so viele differents Dinge, die ich irgendwie verloren bin in diesem Augenblick.
Grundsätzlich möchte ich alle Saiten zwischen den Tags [$lang
] und [/ $lang
] (in meinem exemple $lang = "en_UK"
aber es wird durch die Benutzer-Cookies bestimmt werden.
Ich möchte etwas Hilfe Bezifferung dieses heraus enthalten extrahieren, wenn möglich,
Dank
Danke für deine Antwort, ja ich bin irgendwie in meinen Versuchen verloren gegangen. Wie auch immer, denkst du, dass $ lang "en_UK" in deinem Code ausgeben wird? Oder muss ich es wie 'preg_match_all (" /\[".$ lang. "\] (. +?) \ [\ /". $ Lang. "\] /", $ String, $ outputs_list); '? Vielen Dank ! – eloism
Entweder oder wird funktionieren, da Sie in Anführungszeichen stehen. Ich habe das als Antwort verschoben. – chris85