Hallo,
Ik gebruik een bepaalde string om de content van de pagina's uit te lezen als volgt:
$pagina["inhoud"] = '<h2>Dit is een voorbeeld: 's avonds</h2>'
Het probleem is echter nu dat dus de string wordt afgesloten bij het woordje 's avonds.
Kan ik dit opvangen op een bepaalde manier?
Mvg
Rick Leijten
- [PHP] De ' gebruiken in een string.
-
31-08-2010, 19:44 #1
- Berichten
- 30
- Lid sinds
- 14 Jaar
[PHP] De ' gebruiken in een string.
-
-
31-08-2010, 19:47 #2
- Berichten
- 1.499
- Lid sinds
- 17 Jaar
Nooit iets gehad over het escapen van strings?
PHP Code:$pagina["inhoud"] = '<h2>Dit is een voorbeeld: \'s avonds</h2>'
-
31-08-2010, 19:47 #3
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
Strings horen ook met dubbele quotes.
-
31-08-2010, 19:48 #4
- Berichten
- 297
- Lid sinds
- 15 Jaar
dubbel quotes of heredoc gebruiken
-
31-08-2010, 19:48 #5
- Berichten
- 1.499
- Lid sinds
- 17 Jaar
Mwah vind ik persoonlijk niet, doe ze zelf liever enkel. Querys daarintegen altijd dubbel.
-
31-08-2010, 19:51 #6
- Berichten
- 30
- Lid sinds
- 14 Jaar
Ik dank u! ik had wel het idee dat er iets met een slash moest gebeuren.
-
31-08-2010, 20:00 #7
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
-
31-08-2010, 20:18 #8
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Single quotes zijn (iets) sneller dan dubbele quotes. Bij dubbele quotes gaat PHP nog zoeken naar eventuele strings die erin kunnen staan om deze te vervangen met hun waarde.
Zo zal dit:
PHP Code:$string = 'test';
echo "hehe deze $string gaat lukken!";
PHP Code:$string = 'test';
echo 'hehe deze $string gaat mislukken!';
En dubbele quotes bij een MySQL is niet meer dan logisch, omdat je waardes die je wilt invoeren met single quotes kunt aangeven. Een query als dit:
PHP Code:mysql_query("UPDATE tabel SET test = '".$_POST['test']."', bla = '".$_POST['bla']."' WHERE id = '1'");
PHP Code:mysql_query('UPDATE tabel SET test = \''.$_POST['test'].'\', bla = \''.$_POST['bla'].'\' WHERE id = \'1\'');
-
31-08-2010, 20:20 #9
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
Je reden om dubbele quotes dan wel bij queries te gebruiken ook, gezien je daarvoor prima de ` quote kan gebruiken ;)
Maarja, als we op jouw manier redenen kunnen we voortaan ook net zo goed <? weer in gaan invoeren en files includen zonder de haakjes :p
-
31-08-2010, 20:25 #10
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Sja backticks zijn een oplossing inderdaad, waarom ik ze niet gebruik weet ik niet. Vind het in elk geval niet fijn lezen/uitzien als ik single quotes en backticks ga combineren.
Waarom je überhaupt verder de aanval kiest naar mij vraag ik me ook af, maar dat zal wel aan mij liggen. Je hoeft je niet aangevallen te voelen door mijn reactie, ik geef enkel mijn mening over hetgeen je zegt, je hoort mij niet zeggen dat je een lutser bent omdat je alles met dubbele quotes zit te doen? Ik bood enkel een alternatief op hetgeen gemeld werd.. een beste oplossing is er nooit.
Worden backticks trouwens niet alleen gebruikt om veldnamen in je tabel weer te geven en niet voor daadwerkelijke waardes van deze velden?
Aanvullend bericht:
Sowieso eigenlijk zoals al gezegd werd, blijft kwestie van persoonlijke smaak en hoe je het gewend bent te doen. De keuze van editor zal ook wel een verschil maken (ivm de kleuren van je code highlighting)Laatst aangepast door Joshua de Gier : 31-08-2010 om 20:27 Reden: Automatisch samengevoegd.
-
31-08-2010, 20:28 #11
- Berichten
- 1.499
- Lid sinds
- 17 Jaar
-
01-09-2010, 10:55 #12
- Berichten
- 62
- Lid sinds
- 15 Jaar
Ik gebruik zelf altijd enkele quotes ...
heb ik zo mijn redenen voor,
1. Enkele quotes zijn sneller.
2. bij deze code :
echo '<form method="post" action="asdf.html">';
hoef je dus niet te escapen!
maar met dubbele quotes doet hij het dus niet:
echo "<form method="post" action="asdf.html">";
3. als je highlighting aan hebt kan je heel makkelijk de variabelen zien:
echo 'Dit is een zinnetje ' . $ditiseenvariabele . ' en hier eindigt je zin'; (kon niks beters verzinnen)
met dubbele quotes hoef je ze misschien niet buiten quotes te halen... maar dan is het in mijn opzichte onoverzichtelijk
echo "Dit is een zinnetje $ditiseenvariabele en hier eindigt je zin";
mijn mening
-
01-09-2010, 11:14 #13
- Berichten
- 3.430
- Lid sinds
- 16 Jaar
Enkele quotes zijn sneller en zijn de standaard voor strings waar dat goed bruikbaar is. Bij een databasequery is dit vaak niet zo, aangezien de data over het algemeen omsloten wordt door single quotes.
Single quote strings zijn in PHP sneller omdat ze niet geparsed worden. Daarentegen is het, indien parsing gewenst is, in sommige gevallen praktisch om double quotes te gebruiken.
En Vincent:
Maarja, als we op jouw manier redenen kunnen we voortaan ook net zo goed <? weer in gaan invoeren en files includen zonder de haakjes :p
En over het includen van files: dat hoort ook zonder haakjes. Net als het return statement is het include statement een statement, geen functie. Er horen geen haakjes om de locatie heen, hoewel het wel werkt.
-
01-09-2010, 14:24 #14
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
@Nathan & Jesper; precies wat ik bedoelde.
Maar het is toch maar wat je gewend bent en zelf wilt natuurlijk :)
-
01-09-2010, 22:20 #15
- Berichten
- 4
- Lid sinds
- 17 Jaar
Eigenlijk is het vrij simpel;
Single quotes: letterlijke interpretatie
Double quotes: niet letterlijke interpretatie
Waarbij je single quotes gebruikt wanneer er niets dynamisch in je tekst zit, en dubbele wanneer er bijvoorbeeld een variabele in voorkomt.
Als reactie op de backticks & MySQL discussie:
Een backtick in MySQL is bedoeld om "identifiers" aan te geven, welke meestal gebruik wordt om problemen te voorkomen met door MySQL gereserveerde woorden.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic