php Listenvariablen
Zitat von Burkhard Strauß am 20. April 2026, 15:17 Uhrhi, weiß jemand wie man listenvariablen so in einen schönen text verwandelt, dass PHP den verarbeiten kann?
{Diagnosen:Titel:Tagzahl#360:Datum}
(Gibt diagnosen mit Datum aus)
Ziel: ich will frakturen finden in den letzten 12 Monaten für DMP Osteoporose. idealerweise mit datum davor. das ergebnis hiermit ist ganz ok, aber es ist noch nicht sauber formatiert (Umlaute haben teils extra oder kein leerzeichen davor, Klammern fehlen)
{PHP} $text = "{Diagnosen:Titel:Tagzahl#360:Datum}"; // 1. RTF-Umlaute $umlaute = array( "'E4" => "ä", "'F6" => "ö", "'FC" => "ü", "'C4" => "Ä", "'D6" => "Ö", "'DC" => "Ü", "'DF" => "ß" ); $text = strtr($text, $umlaute); // 2. RTF entfernen $text = preg_replace('/\\\\[a-zA-Z0-9]+/', ' ', $text); $text = str_replace(array("{", "}", "\\", "\r", "\n"), " ", $text); // 3. Spaces normalisieren $text = preg_replace('/\s+/', ' ', $text); // 1. Leerzeichen vor Umlauten innerhalb von Wörtern entfernen $clean = preg_replace('/([a-zA-Z])\s+([äöüÄÖÜ])/', '$1$2', $clean); // 2. fehlendes Leerzeichen vor Großbuchstaben wieder einfügen $clean = preg_replace('/([a-zäöü])([A-ZÄÖÜ])/', '$1 $2', $clean); // 4. Blöcke nach Datum preg_match_all('/(\d{2}\.\d{2}\.\d{2})(.*?)(?=\d{2}\.\d{2}\.\d{2}|$)/', $text, $blocks); $treffer = array(); for ($i = 0; $i < count($blocks[0]); $i++) { $datum = trim($blocks[1][$i]); $block = trim($blocks[2][$i]); // nur wenn Fraktur enthalten if (stripos($block, "fraktur") !== false) { // 👉 nur die eigentliche Fraktur-Diagnose extrahieren if (preg_match('/(\[[A-Z]\]\s*)?\([A-Z0-9\.]+\)\s*[^)]*fraktur[^)]*/i', $block, $m)) { $clean = $m[0]; // RTF-Reste entfernen $clean = preg_replace('/\b(i0|s22|ow|blend1|rowd|rleft0|rftsWidth2|rwWidth5000|0)\b/', '', $clean); // Spaces normalisieren $clean = preg_replace('/\s+/', ' ', $clean); // 👉 UMLAUT-FIX (gezielt, ohne Nebenwirkungen) $clean = preg_replace('/([a-zA-Z])\s+([äöüÄÖÜ])/', '$1$2', $clean); $treffer[] = $datum . " " . trim($clean); } } } if (count($treffer) > 0) { $treffer = array_unique($treffer); echo implode("\n", $treffer); } else { echo "nein"; } {/PHP}aus {Diagnosen:Titel:Tagzahl#360:Datum}
Diagnosen:
23.02.26 (Z92.4) Voroperationen (Hysterektomie 03/21)
09.04.26 [R] (S72.41) Kondyläre Femurfraktur
12.04.26 (I21.9) Herzinfarkt (Stent 02/23)
14.04.26 (S02.9) nachä Mitäte ävor Schädelfraktur äöüßÄÖÜ (in Klammern)wird das hier
09.04.26 [R] (S72.41) Kondyläre Femurfraktur
14.04.26 (S02.9) nachä Mitäteävor SchädelfrakturäöüßÄÖÜ (in Klammern(ä sind die leerzeichen verschoben, woanders fehlen klammern am Ende)
hi, weiß jemand wie man listenvariablen so in einen schönen text verwandelt, dass PHP den verarbeiten kann?
{Diagnosen:Titel:Tagzahl#360:Datum}
(Gibt diagnosen mit Datum aus)
Ziel: ich will frakturen finden in den letzten 12 Monaten für DMP Osteoporose. idealerweise mit datum davor. das ergebnis hiermit ist ganz ok, aber es ist noch nicht sauber formatiert (Umlaute haben teils extra oder kein leerzeichen davor, Klammern fehlen)
{PHP}
$text = "{Diagnosen:Titel:Tagzahl#360:Datum}";
// 1. RTF-Umlaute
$umlaute = array(
"'E4" => "ä", "'F6" => "ö", "'FC" => "ü",
"'C4" => "Ä", "'D6" => "Ö", "'DC" => "Ü",
"'DF" => "ß"
);
$text = strtr($text, $umlaute);
// 2. RTF entfernen
$text = preg_replace('/\\\\[a-zA-Z0-9]+/', ' ', $text);
$text = str_replace(array("{", "}", "\\", "\r", "\n"), " ", $text);
// 3. Spaces normalisieren
$text = preg_replace('/\s+/', ' ', $text);
// 1. Leerzeichen vor Umlauten innerhalb von Wörtern entfernen
$clean = preg_replace('/([a-zA-Z])\s+([äöüÄÖÜ])/', '$1$2', $clean);
// 2. fehlendes Leerzeichen vor Großbuchstaben wieder einfügen
$clean = preg_replace('/([a-zäöü])([A-ZÄÖÜ])/', '$1 $2', $clean);
// 4. Blöcke nach Datum
preg_match_all('/(\d{2}\.\d{2}\.\d{2})(.*?)(?=\d{2}\.\d{2}\.\d{2}|$)/', $text, $blocks);
$treffer = array();
for ($i = 0; $i < count($blocks[0]); $i++) {
$datum = trim($blocks[1][$i]);
$block = trim($blocks[2][$i]);
// nur wenn Fraktur enthalten
if (stripos($block, "fraktur") !== false) {
// 👉 nur die eigentliche Fraktur-Diagnose extrahieren
if (preg_match('/(\[[A-Z]\]\s*)?\([A-Z0-9\.]+\)\s*[^)]*fraktur[^)]*/i', $block, $m)) {
$clean = $m[0];
// RTF-Reste entfernen
$clean = preg_replace('/\b(i0|s22|ow|blend1|rowd|rleft0|rftsWidth2|rwWidth5000|0)\b/', '', $clean);
// Spaces normalisieren
$clean = preg_replace('/\s+/', ' ', $clean);
// 👉 UMLAUT-FIX (gezielt, ohne Nebenwirkungen)
$clean = preg_replace('/([a-zA-Z])\s+([äöüÄÖÜ])/', '$1$2', $clean);
$treffer[] = $datum . " " . trim($clean);
}
}
}
if (count($treffer) > 0) {
$treffer = array_unique($treffer);
echo implode("\n", $treffer);
} else {
echo "nein";
}
{/PHP}
aus {Diagnosen:Titel:Tagzahl#360:Datum}
Diagnosen:
23.02.26 (Z92.4) Voroperationen (Hysterektomie 03/21)
09.04.26 [R] (S72.41) Kondyläre Femurfraktur
12.04.26 (I21.9) Herzinfarkt (Stent 02/23)
14.04.26 (S02.9) nachä Mitäte ävor Schädelfraktur äöüßÄÖÜ (in Klammern)
wird das hier
09.04.26 [R] (S72.41) Kondyläre Femurfraktur
14.04.26 (S02.9) nachä Mitäteävor SchädelfrakturäöüßÄÖÜ (in Klammern
(ä sind die leerzeichen verschoben, woanders fehlen klammern am Ende)
Zitat von Peter Quick am 20. April 2026, 15:58 UhrDas sagt Claude
Ich sehe die zwei Probleme:
1. Umlaute: Das Regex ([a-zA-Z])\s+([äöüÄÖÜ]) entfernt Leerzeichen vor Umlauten – das frisst aber auch echte Wortgrenzen wie nach ä → nachä
2. Schließende Klammer fehlt: Das Regex für die Fraktur-Diagnose matcht nur bis zum Ende ohne ) zu erfassen
Außerdem ist der Code etwas durcheinander – $clean wird in Schritt 3 verwendet, bevor es definiert ist.{PHP} $text = "{Diagnosen:Titel:Tagzahl#360:Datum}"; // 1. RTF-Umlaute dekodieren $umlaute = array( "'E4" => "ä", "'F6" => "ö", "'FC" => "ü", "'C4" => "Ä", "'D6" => "Ö", "'DC" => "Ü", "'DF" => "ß" ); $text = strtr($text, $umlaute); // 2. RTF-Steuerzeichen entfernen $text = preg_replace('/\\\\[a-zA-Z0-9]+/', ' ', $text); $text = str_replace(array("{", "}", "\\", "\r", "\n"), " ", $text); // 3. Spaces normalisieren $text = preg_replace('/\s+/', ' ', $text); // 4. Blöcke nach Datum aufteilen preg_match_all('/(\d{2}\.\d{2}\.\d{2})(.*?)(?=\d{2}\.\d{2}\.\d{2}|$)/', $text, $blocks); $treffer = array(); for ($i = 0; $i < count($blocks[0]); $i++) { $datum = trim($blocks[1][$i]); $block = trim($blocks[2][$i]); if (stripos($block, "fraktur") === false) continue; // Fraktur-Diagnose extrahieren inkl. optionalem [R]/[L] und schließender Klammer if (preg_match('/(\[[A-Z]\]\s*)?\([A-Z0-9\.]+\)[^(]*fraktur[^(]*/i', $block, $m)) { $clean = trim($m[0]); // RTF-Reste entfernen (nur isolierte Tokens) $clean = preg_replace('/\b(i0|s22|ow|blend1|rowd|rleft0|rftsWidth2|rwWidth5000|0)\b/', '', $clean); // Spaces normalisieren $clean = preg_replace('/\s+/', ' ', $clean); // Leerzeichen VOR Umlaut nur entfernen, wenn kein Leerzeichen NACH dem vorherigen Buchstaben sinnvoll ist // = nur innerhalb zusammengeschriebener Wörter (kein Trennzeichen davor) $clean = preg_replace('/([a-zA-ZäöüÄÖÜß])\s+([äöüÄÖÜ][a-z])/u', '$1$2', $clean); // Fehlende Leerzeichen zwischen klein→GROSS einfügen (Worttrenner) $clean = preg_replace('/([a-zäöüß])([A-ZÄÖÜ])/u', '$1 $2', $clean); $treffer[] = $datum . " " . trim($clean); } } if (count($treffer) > 0) { $treffer = array_unique($treffer); echo implode("\n", $treffer); } else { echo "nein"; } {/PHP}
{PHP}
$text = „{Diagnosen:Titel:Tagzahl#360:Datum}“;// 1. RTF-Umlaute dekodieren
$umlaute = array(
„‚E4“ => „ä“, „‚F6“ => „ö“, „‚FC“ => „ü“,
„‚C4“ => „Ä“, „‚D6“ => „Ö“, „‚DC“ => „Ü“,
„‚DF“ => „ß“
);
$text = strtr($text, $umlaute);// 2. RTF-Steuerzeichen entfernen
$text = preg_replace(‚/\\\\[a-zA-Z0-9]+/‘, ‚ ‚, $text);
$text = str_replace(array(„{„, „}“, „\\“, „\r“, „\n“), “ „, $text);// 3. Spaces normalisieren
$text = preg_replace(‚/\s+/‘, ‚ ‚, $text);// 4. Blöcke nach Datum aufteilen
preg_match_all(‚/(\d{2}\.\d{2}\.\d{2})(.*?)(?=\d{2}\.\d{2}\.\d{2}|$)/‘, $text, $blocks);$treffer = array();
for ($i = 0; $i < count($blocks[0]); $i++) {
$datum = trim($blocks[1][$i]);
$block = trim($blocks[2][$i]);if (stripos($block, „fraktur“) === false) continue;
// Fraktur-Diagnose extrahieren inkl. optionalem [R]/[L] und schließender Klammer
if (preg_match(‚/(\[[A-Z]\]\s*)?\([A-Z0-9\.]+\)[^(]*fraktur[^(]*/i‘, $block, $m)) {$clean = trim($m[0]);
// RTF-Reste entfernen (nur isolierte Tokens)
$clean = preg_replace(‚/\b(i0|s22|ow|blend1|rowd|rleft0|rftsWidth2|rwWidth5000|0)\b/‘, “, $clean);// Spaces normalisieren
$clean = preg_replace(‚/\s+/‘, ‚ ‚, $clean);// Leerzeichen VOR Umlaut nur entfernen, wenn kein Leerzeichen NACH dem vorherigen Buchstaben sinnvoll ist
// = nur innerhalb zusammengeschriebener Wörter (kein Trennzeichen davor)
$clean = preg_replace(‚/([a-zA-ZäöüÄÖÜß])\s+([äöüÄÖÜ][a-z])/u‘, ‚$1$2‘, $clean);// Fehlende Leerzeichen zwischen klein→GROSS einfügen (Worttrenner)
$clean = preg_replace(‚/([a-zäöüß])([A-ZÄÖÜ])/u‘, ‚$1 $2‘, $clean);$treffer[] = $datum . “ “ . trim($clean);
}
}if (count($treffer) > 0) {
$treffer = array_unique($treffer);
echo implode(„\n“, $treffer);
} else {
echo „nein“;
}
{/PHP}
Was geändert wurde:
• Umlaut-Regex präzisiert: ([äöüÄÖÜ][a-z]) statt nur ([äöüÄÖÜ]) – greift nur wenn der Umlaut Teil eines Wortes ist, nicht bei alleinstehenden Buchstaben wie ä am Wortanfang nach Leerzeichen
• Schließende Klammer: Regex jetzt /[^(]*/ statt /[^)]*/ – matcht bis zur nächsten öffnenden Klammer (oder Ende), wodurch ) am Schluss erhalten bleibt
• /u-Flag bei allen Unicode-Regexen ergänzt
• Toter Code (das $clean in Schritt 1–2 vor der Schleife) entfernt
Das sagt Claude
Ich sehe die zwei Probleme:
1. Umlaute: Das Regex ([a-zA-Z])\s+([äöüÄÖÜ]) entfernt Leerzeichen vor Umlauten – das frisst aber auch echte Wortgrenzen wie nach ä → nachä
2. Schließende Klammer fehlt: Das Regex für die Fraktur-Diagnose matcht nur bis zum Ende ohne ) zu erfassen
Außerdem ist der Code etwas durcheinander – $clean wird in Schritt 3 verwendet, bevor es definiert ist.
{PHP}
$text = "{Diagnosen:Titel:Tagzahl#360:Datum}";
// 1. RTF-Umlaute dekodieren
$umlaute = array(
"'E4" => "ä", "'F6" => "ö", "'FC" => "ü",
"'C4" => "Ä", "'D6" => "Ö", "'DC" => "Ü",
"'DF" => "ß"
);
$text = strtr($text, $umlaute);
// 2. RTF-Steuerzeichen entfernen
$text = preg_replace('/\\\\[a-zA-Z0-9]+/', ' ', $text);
$text = str_replace(array("{", "}", "\\", "\r", "\n"), " ", $text);
// 3. Spaces normalisieren
$text = preg_replace('/\s+/', ' ', $text);
// 4. Blöcke nach Datum aufteilen
preg_match_all('/(\d{2}\.\d{2}\.\d{2})(.*?)(?=\d{2}\.\d{2}\.\d{2}|$)/', $text, $blocks);
$treffer = array();
for ($i = 0; $i < count($blocks[0]); $i++) {
$datum = trim($blocks[1][$i]);
$block = trim($blocks[2][$i]);
if (stripos($block, "fraktur") === false) continue;
// Fraktur-Diagnose extrahieren inkl. optionalem [R]/[L] und schließender Klammer
if (preg_match('/(\[[A-Z]\]\s*)?\([A-Z0-9\.]+\)[^(]*fraktur[^(]*/i', $block, $m)) {
$clean = trim($m[0]);
// RTF-Reste entfernen (nur isolierte Tokens)
$clean = preg_replace('/\b(i0|s22|ow|blend1|rowd|rleft0|rftsWidth2|rwWidth5000|0)\b/', '', $clean);
// Spaces normalisieren
$clean = preg_replace('/\s+/', ' ', $clean);
// Leerzeichen VOR Umlaut nur entfernen, wenn kein Leerzeichen NACH dem vorherigen Buchstaben sinnvoll ist
// = nur innerhalb zusammengeschriebener Wörter (kein Trennzeichen davor)
$clean = preg_replace('/([a-zA-ZäöüÄÖÜß])\s+([äöüÄÖÜ][a-z])/u', '$1$2', $clean);
// Fehlende Leerzeichen zwischen klein→GROSS einfügen (Worttrenner)
$clean = preg_replace('/([a-zäöüß])([A-ZÄÖÜ])/u', '$1 $2', $clean);
$treffer[] = $datum . " " . trim($clean);
}
}
if (count($treffer) > 0) {
$treffer = array_unique($treffer);
echo implode("\n", $treffer);
} else {
echo "nein";
}
{/PHP}
{PHP}
$text = „{Diagnosen:Titel:Tagzahl#360:Datum}“;
// 1. RTF-Umlaute dekodieren
$umlaute = array(
„‚E4“ => „ä“, „‚F6“ => „ö“, „‚FC“ => „ü“,
„‚C4“ => „Ä“, „‚D6“ => „Ö“, „‚DC“ => „Ü“,
„‚DF“ => „ß“
);
$text = strtr($text, $umlaute);
// 2. RTF-Steuerzeichen entfernen
$text = preg_replace(‚/\\\\[a-zA-Z0-9]+/‘, ‚ ‚, $text);
$text = str_replace(array(„{„, „}“, „\\“, „\r“, „\n“), “ „, $text);
// 3. Spaces normalisieren
$text = preg_replace(‚/\s+/‘, ‚ ‚, $text);
// 4. Blöcke nach Datum aufteilen
preg_match_all(‚/(\d{2}\.\d{2}\.\d{2})(.*?)(?=\d{2}\.\d{2}\.\d{2}|$)/‘, $text, $blocks);
$treffer = array();
for ($i = 0; $i < count($blocks[0]); $i++) {
$datum = trim($blocks[1][$i]);
$block = trim($blocks[2][$i]);
if (stripos($block, „fraktur“) === false) continue;
// Fraktur-Diagnose extrahieren inkl. optionalem [R]/[L] und schließender Klammer
if (preg_match(‚/(\[[A-Z]\]\s*)?\([A-Z0-9\.]+\)[^(]*fraktur[^(]*/i‘, $block, $m)) {
$clean = trim($m[0]);
// RTF-Reste entfernen (nur isolierte Tokens)
$clean = preg_replace(‚/\b(i0|s22|ow|blend1|rowd|rleft0|rftsWidth2|rwWidth5000|0)\b/‘, “, $clean);
// Spaces normalisieren
$clean = preg_replace(‚/\s+/‘, ‚ ‚, $clean);
// Leerzeichen VOR Umlaut nur entfernen, wenn kein Leerzeichen NACH dem vorherigen Buchstaben sinnvoll ist
// = nur innerhalb zusammengeschriebener Wörter (kein Trennzeichen davor)
$clean = preg_replace(‚/([a-zA-ZäöüÄÖÜß])\s+([äöüÄÖÜ][a-z])/u‘, ‚$1$2‘, $clean);
// Fehlende Leerzeichen zwischen klein→GROSS einfügen (Worttrenner)
$clean = preg_replace(‚/([a-zäöüß])([A-ZÄÖÜ])/u‘, ‚$1 $2‘, $clean);
$treffer[] = $datum . “ “ . trim($clean);
}
}
if (count($treffer) > 0) {
$treffer = array_unique($treffer);
echo implode(„\n“, $treffer);
} else {
echo „nein“;
}
{/PHP}
Was geändert wurde:
• Umlaut-Regex präzisiert: ([äöüÄÖÜ][a-z]) statt nur ([äöüÄÖÜ]) – greift nur wenn der Umlaut Teil eines Wortes ist, nicht bei alleinstehenden Buchstaben wie ä am Wortanfang nach Leerzeichen
• Schließende Klammer: Regex jetzt /[^(]*/ statt /[^)]*/ – matcht bis zur nächsten öffnenden Klammer (oder Ende), wodurch ) am Schluss erhalten bleibt
• /u-Flag bei allen Unicode-Regexen ergänzt
• Toter Code (das $clean in Schritt 1–2 vor der Schleife) entfernt
Zitat von bro am 20. April 2026, 17:24 UhrAber jetzt damit:
Habe ich mit google gemacht, chatgpt ist down und cloude hat mich rausgeschmissen, weil ich nicht bezahlen wollte.Ich habe von PHP null Ahnung.
{PHP}
$text = „{Diagnosen:Titel:Tagzahl#360:Datum}“;// 1. RTF-Umlaute dekodieren
$umlaute = array(
„\’e4“ => „ä“, „\’f6“ => „ö“, „\’fc“ => „ü“,
„\’E4“ => „Ä“, „\’D6“ => „Ö“, „\’DC“ => „Ü“,
„\’df“ => „ß“
);
$text = strtr($text, $umlaute);// 2. RTF-Steuerzeichen entfernen
$text = preg_replace(‚/\\\\[a-zA-Z0-9]+ ?/‘, ‚ ‚, $text);
$text = str_replace(array(‚{‚, ‚}‘, ‚\\‘, „\r“, „\n“), “, $text);// 3. Spaces normalisieren
$text = preg_replace(‚/\s+/‘, ‚ ‚, $text);// 4. Blöcke nach Datum aufteilen
preg_match_all(‚/(\d{2}\.\d{2}\.\d{2})(.*?)(?=\d{2}\.\d{2}\.\d{2}|$)/‘, $text, $blocks);$treffer = array();
for ($i = 0; $i < count($blocks[0]); $i++) {
$datum = trim($blocks[1][$i]);
$block = trim($blocks[2][$i]);if (stripos($block, ‚fraktur‘) === false) continue;
// Regex für ICD in Klammern + Text bis Fraktur
if (preg_match(‚/(\[[RL]\]\s*)?(\([A-Z][0-9][A-Z0-9\.]+\))\s*.*?fraktur[a-z]*/i‘, $block, $m)) {
$clean = trim($m[0]);
$clean = preg_replace(‚/\b(i0|s22|ow|blend1|rowd|rleft0|rftsWidth2|rwWidth5000|0)\b/‘, “, $clean);
$clean = preg_replace(‚/([a-zäöüß])([A-ZÄÖÜ])/‘, ‚$1 $2‘, $clean);
$clean = preg_replace(‚/\s+/‘, ‚ ‚, $clean);$treffer[] = $datum . “ “ . trim($clean);
}
}// 5. Ausgabe mit Überschrift
if (count($treffer) > 0) {
$treffer = array_unique($treffer);
echo „Diagnosen:\n“; // Hier ist die gewünschte Überschrift
echo implode(„\n“, $treffer);
} else {
echo „nein“;
}
{/PHP}Ergebnis:
Aber jetzt damit:
Habe ich mit google gemacht, chatgpt ist down und cloude hat mich rausgeschmissen, weil ich nicht bezahlen wollte.
Ich habe von PHP null Ahnung.
{PHP}
$text = „{Diagnosen:Titel:Tagzahl#360:Datum}“;
// 1. RTF-Umlaute dekodieren
$umlaute = array(
„\’e4“ => „ä“, „\’f6“ => „ö“, „\’fc“ => „ü“,
„\’E4“ => „Ä“, „\’D6“ => „Ö“, „\’DC“ => „Ü“,
„\’df“ => „ß“
);
$text = strtr($text, $umlaute);
// 2. RTF-Steuerzeichen entfernen
$text = preg_replace(‚/\\\\[a-zA-Z0-9]+ ?/‘, ‚ ‚, $text);
$text = str_replace(array(‚{‚, ‚}‘, ‚\\‘, „\r“, „\n“), “, $text);
// 3. Spaces normalisieren
$text = preg_replace(‚/\s+/‘, ‚ ‚, $text);
// 4. Blöcke nach Datum aufteilen
preg_match_all(‚/(\d{2}\.\d{2}\.\d{2})(.*?)(?=\d{2}\.\d{2}\.\d{2}|$)/‘, $text, $blocks);
$treffer = array();
for ($i = 0; $i < count($blocks[0]); $i++) {
$datum = trim($blocks[1][$i]);
$block = trim($blocks[2][$i]);
if (stripos($block, ‚fraktur‘) === false) continue;
// Regex für ICD in Klammern + Text bis Fraktur
if (preg_match(‚/(\[[RL]\]\s*)?(\([A-Z][0-9][A-Z0-9\.]+\))\s*.*?fraktur[a-z]*/i‘, $block, $m)) {
$clean = trim($m[0]);
$clean = preg_replace(‚/\b(i0|s22|ow|blend1|rowd|rleft0|rftsWidth2|rwWidth5000|0)\b/‘, “, $clean);
$clean = preg_replace(‚/([a-zäöüß])([A-ZÄÖÜ])/‘, ‚$1 $2‘, $clean);
$clean = preg_replace(‚/\s+/‘, ‚ ‚, $clean);
$treffer[] = $datum . “ “ . trim($clean);
}
}
// 5. Ausgabe mit Überschrift
if (count($treffer) > 0) {
$treffer = array_unique($treffer);
echo „Diagnosen:\n“; // Hier ist die gewünschte Überschrift
echo implode(„\n“, $treffer);
} else {
echo „nein“;
}
{/PHP}
Ergebnis: