find værdi i streng og erstat kun hvis inden for [link]
HejsaJeg har dette script :
function tagster_link($str) {
$regEx='{\[link\](.*),(.*);(.*)\[/link\]}Uis';
preg_match_all($regEx, $str, $matches);
$needel = "http://";
$str = str_replace("[link]", "<a href=\"", $str);
print_r($matches[1][0], true);
$str = str_replace(",", "\" target=\"", $str);
print_r($matches[2][0], true);
$str = str_replace(";", "\">", $str);
print_r($matches[3][0], true);
$str = str_replace("[/link]", "</a>", $str);
return $str;
}
Min streng der bliver kørt gennem funktioner kan se sådant her ud :
$tekst = "her er noget tekst, som man kan klikke [link]http://www.mitsite.dk/side2.php,_top;Her[/link] for at logge ind, men det funger ikke helt endnu.";
Det skulle gerne have givet følgende resultat (source kode):
her er noget tekst, man kan klikke <a href="http://www.mitsite.dk/side2.php" target="_top">Her</a> for at logge ind, men det funger ikke helt endnu.
Men det giver følgende resultat :
her er noget tekst" target=" man kan klikke <a href="http://www.mitsite.dk/side2.php" target="_top">Her</a> for at logge ind" target=" men det funger ikke helt endnu.
Problemet er at hver gang den støde på et , tegn bliver det erstattet med " target="
Det er korekt at den skal erstatte , tegnet med "target=" HVIS den støder på det inden for [link] [/link] tagget, eller skal den ikke erstatte det, og så vil jeg entlig også gerne have den til at kunne håndtere 2 , tegn inden for [link] [/link] tagget, hvor , nr. 1 erstattes af " target=" og , nr. 2 erstattes af \">
Men da jeg ike er den store hej i reg. exp og/eller preg_match har jeg et problem.... nogen hjælp at hente ??
