Avatar billede michaeltryl Seniormester
02. maj 2008 - 19:52 Der er 5 kommentarer og
1 løsning

funktion problem

jeg har lavet følgende funktion som virker
//funktion
function lav_link($text)
{
$sidene = mysql_real_escape_string($_GET['side']);
if(empty ($sidene))
{
$sidene = 1;
}

$smil = mysql_query("SELECT side_id, menu_tekst, link, gruppe FROM sider WHERE side_id != '$sidene'");
while($smi = mysql_fetch_array($smil))
{
$side_idet = $smi['side_id'];
$menu_teksten = $smi['menu_tekst'];
$linket = $smi['link'];
$gruppen = $smi['gruppe'];
if(empty($linket))
{
$text = str_replace($menu_teksten, "<a href='$side/index.php?menu=&side=$side_idet'>$menu_teksten</a>", $text);
}
else
{
$text = str_replace($menu_teksten, "<a href='$side/$linket?menu=&side=$side_idet'>$menu_teksten</a>", $text);
}
}
return $text;
}
//funktion slut

men hvis
$menu_teksten
f.eks indeholder Kontakt
og der i $text står kontakte så vil jeg godt at hele ordet "kontakte" bliver til et link.
som det er nu bliver "kontakt" til et link og derefter sår der et "e" som ikke er med i linket er der nogen som har et bud på hvordan jeg gør så den tager fra første bogstav og frem til et mellemrum
Avatar billede jakobdo Ekspert
02. maj 2008 - 20:47 #1
I stedet for str_replace() kunne du prøve:

$text = preg_replace('/('.$menu_teksten.'\w+)\b/i', '<a href=\'$side/index.php?menu=&side=$side_idet\'>$1</a>', $text);
Avatar billede michaeltryl Seniormester
02. maj 2008 - 21:14 #2
hvis $menu_teksten = "kontakt"
så laver den "kontakte" om til et link, men ikke "kontakt", så den tager kun ord der er forskellig fra $menu_teksten
Avatar billede jakobdo Ekspert
02. maj 2008 - 23:06 #3
Sorry.
Ret lige: \w+
til: \w*
Avatar billede michaeltryl Seniormester
02. maj 2008 - 23:42 #4
perfekt det virker.
Tak for hjælpen og bare kom med et svar så lukker jeg og giver point
Avatar billede jakobdo Ekspert
03. maj 2008 - 07:19 #5
Svar!
Avatar billede jakobdo Ekspert
04. maj 2008 - 01:30 #6
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester