Speciaal karakter in str_replace

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tim van Norde

Tim van Norde

30/10/2012 14:53:19
Quote Anchor link
Hallo,

Ik krijg simpelweg het volgende karakter maar niet weg met str_replace: ³ (kubieke meter)
Hoe doe je dit?

- Tim
 
PHP hulp

PHP hulp

22/12/2024 13:53:13
 
Q S

Q S

30/10/2012 14:58:48
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
str_replace("&sup3;", "", $string);
?>
Gewijzigd op 30/10/2012 14:59:08 door Q S
 
Tim van Norde

Tim van Norde

30/10/2012 15:05:34
Quote Anchor link
Hey,

Bedankt voor je antwoord, maar het blijkt niet te werken helaas.

- Tim
 
Q S

Q S

30/10/2012 15:07:36
Quote Anchor link
Hmm waar haal je die m³ vandaan? Uit een database? En hoe ziet dat eruit in de broncode van de pagina?

En dit doe ik ook niet?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$string
= "m³";
echo str_replace("³" , "", $string);
?>
Gewijzigd op 30/10/2012 15:11:38 door Q S
 
Kris Peeters

Kris Peeters

30/10/2012 15:17:22
Quote Anchor link
Q S op 30/10/2012 15:07:36:
Hmm waar haal je die m³ vandaan?


Ja, precies.

Stel: die ³ is gepost vanuit een textarea, door een gebruiker. Als de pagina, waarin het formulier staat, in UNICODE staat (2 byte per karakter), wordt dat teken opgeslagen in UNICODE.
Dan moet je misschien dit doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
str_replace(utf8_encode('³'), "", $string);
?>


Als het via een url is doorgegeven, is het met urlencode gecodeerd, dan moet je misschien dit doen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
str_replace(urlencode('³'), "", $string);
?>


Het kan ook zijn dat dat karakter door htmlentities gepasseerd is; dan heb je dat karakter met &
...

Dus ja ... de vraag is gesteld
Gewijzigd op 30/10/2012 15:18:04 door Kris Peeters
 
Tim van Norde

Tim van Norde

30/10/2012 15:18:39
Quote Anchor link
Ik haal het uit een database. Ik heb nu handmatig alle ³-tjes er uit gehaald. Ik gok dat &sup3; wel moet werken, maar dat daar het probleem niet lag.

Bedankt voor je hulp!
 
Kris Peeters

Kris Peeters

30/10/2012 15:27:27
Quote Anchor link
Tim van Norde op 30/10/2012 15:18:39:
... Ik gok dat &sup3; wel moet werken, ...


Goed mogelijk. Het zou echter niet mogen.
Maar dat hangt dus volledig af van de verwerking van het formulier, waar die ³ is gepost.

Je moet (in principe) altijd proberen om data van de gebruiker ongefilterd in de database te steken. Enkel escapen is noodzakelijk.
Functies als htmlentities hoor je enkel te gebruiken wanneer je de gegevens op het scherm toont.
Dus: htmlentities heb je nooit nodig als je met INSERT of UPDATE bezig bent; wel bij SELECT.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.