echo $begrüßung;
$content_code_str = '<p>Der <span class="formatiert">formatierte</span> Text </p>';
Der einfachste Ansatz wäre:
Ist er nicht.
$content_code_str = htmlentities($content_code_str); //maskiert alles
$content_code_str = str_replace('<', '<', $content_code_str); //demaskiert '<'
$content_code_str = str_replace('>', '>', $content_code_str); //demaskiert '>'Der eizige Haken, den ich mir vorstellen kann ist der, dass hinterher
'<' und '>' als Text nicht mehr maskiert wären.
Du hast " und & vergessen. Wenn du eins der Zeichen <, > und & und innerhalb von Attributen auch " im mit HTML-Code gespickten Fließtext stehen hast und diese Zeichen nicht gemäß den Regeln zur Maskierung HTML-eigener Zeichen notiert hast, ist das falsch. Wenn du die Regeln beachtet hast, dann wird beispielsweise ein < durch htmlentities() oder htmlspecialchars() zu &lt; Wenn du mit str_replace() die & wieder zu & machst, wird das Fließtext-< wieder zum korrekt notierten <
Gibt's sonst noch etwas, dass gegen den Ansatz spricht ?
Ja, es spricht das unnötige Verwenden von Entities und Nummerischen Zeichenreferenzen anstelle der direkten Verwendung dieser Zeichen nebst passender Kodierungsangabe dagegen.
echo "$verabschiedung $name";