webForumDet fria alternativet

Fnuttar igen

4 svar · 743 visningar · startad av Skogiz

SkogizMedlem sedan feb. 200395 inlägg
#1

Det här med fnuttar och få till korrekt kod är långt ifrån något jag är bäst på

Nedanstående kod skulle jag gärna vilja ha i korrekt form.

print ("<a href="javascript:popUp('employpop.php?id=' . $rad["id"] . ')'">

Att man ska ha \ före " vet jag men hur hanterar men ' inne i kod? Finns det någon allmän sida (förutom php.nets hjälp då) där man samlat ihop en massa olika varianter så man kan se hur koden blir när det finns / \ ' " ? & inne i koden som man vill ska komma med?

Stort tack på förhand

aasahMedlem sedan mars 20033 451 inlägg
#2

I PHP kan du antingen använda: "sträng" eller 'sträng'. Så länge du inte har variabler i strängen blir det ingen skillnad. Dessutom kommer ett " i en 'sträng' att behandlas som vilket som helst annat tecken - och tvärtom! Alltså:

$strDouble = "My first string's here";
$strSingle = 'Quoting John: "Nice weather".';

Om du har variabler i strängen kommer första skillnaden:

$name = 'John';
echo "$name said hi"; //==> John said hi
echo 'Quoting $name "Nice weather".'; ////==> Quoting $name "Nice weather".

Dvs " "- stoppar in variabelns värde, medan ' ' skriver ut EXAKT det som står i den. Evalueringen av variabelnamn i " " funkar bara om det är en vanlig variabel inte för arrayceller. För att få det att funka för dessa måste man trixa lite:

$name = array('John', 'Emma');
echo $name[0]." said hi"; //==> John said hi
//eller
echo "{$name[0]} said hi"; //(ska) också funka (?)
//eller
echo $name[0].' said hi'; //==> John said hi
//Går INTE
echo '{$name[0]} said hi'; //==> {$name[0]} said hi

Det är bara om du måste ha en " i " " eller en ' i ' ' som den behöver escape:as.

$strDouble = "Quoting John's niece: \"Nice weather\".";
$strSingle = 'Quoting John\'s niece: "Nice weather".';

För övrigt kan du slå ihop strängar av olika slag, men det kan bli superrörigt i din egen programmerarhjärna så jag försöker undvika det om det inte finns särskilda skäl.

$concat = "Quoting John's niece:".' "Nice weather".';
SkogizMedlem sedan feb. 200395 inlägg
#3

Ah tack för detta! :)

En liten hjälp till min huvudfråga kvarstår dock. Hur jag än testar så verkar jag inte kunna få till korrekt kod... :r :(

dreasMedlem sedan jan. 2004146 inlägg
#4
print ("<a href=\"javascript:popUp('employpop.php?id='".$rad["id"]."'')\">");

Dvs:
enkelfnutt dubbelfnutt punkt $minVariabel punkt dubbelfnutt enkelfnutt

Fnutt på! :)

EDIT: Du måste även backslasha bort de fnuttar som är HTML kod.
Dvs. <a href="... skriver vi i vanliga fall i HTML. Kör du echo eller print måste du meddela PHP att det är HTML som fortfarande körs, och då använder du
<a href=\"...

ändrat detta i koden ovan (har inte dubbelkollat den, lite stressad)

SkogizMedlem sedan feb. 200395 inlägg
#5

Tusen tack! (y) :birp

Genererad på 360 ms · cache AV · v20260730165559-full.f96bc7eb