Toto urcite funguje mam to otestovane
<?php
$key = 'text';
$string = '<%%#Text plný háčků a čárek#text$>Text s háčky a čárkami</text>';
$regex = '<%*#[^<>]*#'.$key.'\$?>[^<>]*</'.$key.'>';
if( ereg($regex, $string, $regs) )
{
$vypisat = htmlspecialchars($regs[0]);
echo $vypisat;
}
else
{
echo "Nepasuje";
}
?>
Schavlne ten regex skladam a pouzivam jednoduche uvodzovky, aby nevznikali problemy s tymznakom $, ten je tam najproblemovejsi.
Ziadne zatvorky netreba. Zatvorky sa u ereg v PHP pouzivaju tusim na to aby si rozdelil string do podpoli (podpolia by boli potom v $regs[1] , $regs[2], ... atd)