Avatar billede fatal85 Nybegynder
04. juli 2010 - 23:33 Der er 13 kommentarer og
1 løsning

echo linje med både ' og "

Hvad ville være den bedste måde at echoe denne linje

echo '<a href="$PHP_SELF?col=runde&ata=$row['runde']">$row['runde']</a>';

der er, som det kan ses, både ' og " i linjen, og hvad gør man så?
Avatar billede erikjacobsen Ekspert
04. juli 2010 - 23:36 #1
echo "<a href=\"{$PHP_SELF}?col=runde&ata={$row['runde']}\">{$row['runde']}</a>";

Men
1. Det kræver at $PHP_SELF er defineret.
2. At $row['runde'] ikke indeholder tegn, der skal URL-encodes
3. Og så er det en HTML-fejl kun et skriv & - der skal står &amp;
Avatar billede The_Buzz Novice
05. juli 2010 - 07:40 #2
Jeg kunne finde på at gøre det sådan her:

<?
$urlstring = $PHP_SELF . "?col=runde&ata=" . $row['runde'];
$runde = $row['runde'];
?>
<a href="<?=$urlstring?>"><?=$runde?></a>

Meeeeen jah der er ofte mange løsninger til PHP problemer..

F.eks ville denne vist også virke:
echo "<a href=\"$PHP_SELF?col=runde&ata=$row['runde']\">$row['runde']</a>";

hvor interne " er termineret med \"
Avatar billede showsource Seniormester
05. juli 2010 - 08:00 #3
Bortset fra eriks pointe,

Jeg bruger altid at hoppe ind/ud af phpkode.
Og bruger altid selv "

echo "<a href=\"".$_SERVER["PHP_SELF"]."?col=runde&ata=".$row["runde"]."\">".$row["runde"]."</a>";
Avatar billede ggxdg Nybegynder
05. juli 2010 - 08:06 #4
God praksis er vel at escape alle former for anførselstegn der hører til HTML

\'
\"
Avatar billede repox Seniormester
05. juli 2010 - 09:48 #5
#4
Hvorfor escape unødvendigt?

#0
Jeg gør også som #3 - jeg føler at jeg har mere kontrol og konsistens over min kode ved at hoppe ind og ud af PHP koden.
Avatar billede erikjacobsen Ekspert
05. juli 2010 - 10:00 #6
Jeg synes så at det er mere klart hvad der sker med denne konstruktion, sådan ca.:

printf('<a href="%s?col=runde&amp;ata=%s">%s</a>',
  $_SERVER["PHP_SELF"],
  urlencode($row["runde"]),
  htmlspecialchars($row["runde"]));

Det er meget sjældent man bare kan proppe værdier ind uden at de skal igennem en eller anden escape-agtig function. Det bliver hurtigt uoverskueligt, når det sker "inde i strengen".
Avatar billede ggxdg Nybegynder
05. juli 2010 - 13:06 #7
#4
Jeg har bare gjort det til en vane.
Jeg er selvlært (sikkert ikke så godt :P) så når jeg koder, ender det som regel med en masse rettelser af forskellig art. Ved at escape al HTML fra starten, syntes jeg at jeg har lidt bedre styr på det hele :P

Det at hoppe ind og ud af PHP er en ganske fortrinlig løsning, men jeg laver ofte fejl i ">" og "<" hvis der er længere strenge med mange HTML tags og mange PHP variabler.

Jeg ved ikke om rigtige PHP-hajer bruger nogen specifik software at kode i, men jeg kører som regel old-school notepad, hvilket nok ødelægger mit overblik af og til :P
Avatar billede ggxdg Nybegynder
05. juli 2010 - 13:08 #8
bah... mit #4 skule have været #5 i ovenstående... En edit funktion havde været rar af og til.
Avatar billede repox Seniormester
05. juli 2010 - 13:14 #9
#7
Generelt er syntax highlighting en fordelagtig ting når man koder - det giver dig et bedre overblik end notepad alene kan give dig.

Personligt bruger jeg UltraEdit. Notepad++, Eclipse, Zend eller hvad andre nu bruger har jeg forsøgt mig med, men UltraEdit er altimativt den jeg har været allermest tilfreds med som IDE.
Avatar billede ggxdg Nybegynder
05. juli 2010 - 14:55 #10
#9
Yeah, brugte selv PHPeditor eller hvad den nu hed en gang, jeg tror også jeg har brugt Notepad++ og muligvis Zend, men jeg ender altid med notepad :P
Hvis jeg husker ret skal man betale for PHPeditor og Zend, og da jeg kun koder til hjemmebrug gider jeg ikke betale for det...

Jeg syntes at have erfaret at mange IDE programmer har lidt problemer med at "parre" tingene rigtigt nogle gange, og i de tilfælde, finder jeg IDE's mere forstyrrende end hjælpende.

Men det kan da være jeg lige skal prøve UltraEdit...
Avatar billede showsource Seniormester
05. juli 2010 - 20:08 #11
highlight_file(__FILLE__);

er et go' ven på testserver.

Især hvis man er til "ren" teksteditor.
( kodefarvning kan hjælpe meget på vej )

Jeg er til notepad+, gammel udvidelse til win notepad, ( rogsoft) eller vi på unix.
Avatar billede fatal85 Nybegynder
06. juli 2010 - 20:16 #12
Tak for hjælpen alle sammen, men nu hvor erikjakobsen ikke samler på point, så er det vel heller ikke muligt at få ham til at lave et svar. Hvem vil så have dem?
Avatar billede showsource Seniormester
06. juli 2010 - 22:57 #13
Du laver et svar selv, og accepterer det. :O)
Avatar billede fatal85 Nybegynder
06. juli 2010 - 23:54 #14
nice mand :D
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