FIgg3Medlem sedan sep. 2001354 inlägg Hejsan hej!
Så här ligger det till:
Jag har en mapp med åäö tecken i sitt namn därför blir detta ett litet problem när jag ska länka till bilder som ligger i denna mapp (Problemet är det att sidan kan ej hittas när det skrivs med åäö tecken) men jag löste det men hjälp av urlencode. Problemet är nu detta med hjälp av urlencode blir mappen "arne kaj" arne+kaj istället för arne%20kaj
Det sista problemet tänkte jag att man kunnde lösa med en vanlig repleace men då får jag detta fel meddelandet:
Warning: Wrong parameter count for str_replace() in /home/lobo/public_html/funk.php on line 32
Så här ser koden jag skriver ut det med ut (skum mening ;))
echo "<a href='bilder.php?visa=bilder&kat=".$_GET['kat']."&bild=".$r['bild']."&wiev=y&info=n'><img src='bilder\\".urlencode(strmellan($r['user']))."\\". $r['bild_l']."' border='0'></a> ";
Så här ser funktionen strmellan ut:
function strmellan($text)
{
$text = str_replace( "+", "%20" );
return $text;
}
tydalMedlem sedan juni 20034 013 inlägg Du har glömt skriva vilken sträng den ska köra replace på :-)
Se dokumentationen:
http://se.php.net/str_replace
FIgg3Medlem sedan sep. 2001354 inlägg Jag kanske fattar dig helt fel men gör jag inte det med hjälp av ".urlencode(strmellan($r['user']))." ?
tydalMedlem sedan juni 20034 013 inlägg Nej, med den raden gör du bara att variabeln $r['user'] skickas till funktionen strmellan och där får namnet $text. Men sedan använder du ju inte värdet på $text.
Felmeddelandet lyder ju:
Wrong parameter count for str_replace()
alltså att du skickar fel antal värden till str_replace. Parametrar är det som står mellan parenteserna och skiljs åt med kommatecken. Du skickar bara två parametrar till str_replace "+" och "%20". Tittar du i dokumentationen ser du att det ska vara tre:
1. Strängen den ska ersätta.
2. Strängen den ska ersätta med.
3. Strängen den ska utföra ersättningen i.
Och det är ju trean du har glömt, dvs $text, dvs den strängen som du vill ska utföra ersättningen i.
FIgg3Medlem sedan sep. 2001354 inlägg Tack för de kanon bra svaren antagligen bara jag som är trött då jag inte fattar hur jag ska göra för att få de till att funka.
Brukar juh köra som jag gör nu utan några som helst problem.
Om du kan ge mig ett kod exempel skulle jag vara jätte glad!
tydalMedlem sedan juni 20034 013 inlägg Så här har du skrivit:
$text = str_replace( "+", "%20" );
Om vi tittar på funktionsanropet står det alltså:
str_replace("+", "%20");
dvs i klartext: "Leta efter tecknet + och ersätt det med %20."
Men det är något som saknas. Var är det Php ska leta efter plustecknet? I telefonkatalogen? IKEA-katalogen? I en världsatlas? Ja, det måste du bestämma dig för och sedan tala om för Php.
Jag skulle dock tro att det är variabeln $text du vill att Php ska söka och ersätta i... Så då skriver vi dit det:
$text = str_replace("+", "%20", $text);
tydalMedlem sedan juni 20034 013 inlägg Sen behöver du ju inte sätta $text lika med det hela, utan det räcker om du returnerar resultatet:
function strmellan($text)
{
return str_replace("+", "%20", $text);
}
FIgg3Medlem sedan sep. 2001354 inlägg Ahhhhhhhh nu fattade jag!
Tack så mycket!!!
Får ta i med en dålig och urtjatad ursäkt "jag måste vara trött" ;)
God natt!