Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] Speciale Tekens (https://forum.scholieren.com/showthread.php?t=712811)

TIGEK 05-01-2004 19:08

[PHP] Speciale Tekens
 
In een mailformulier mogen bezoekers dingen schrijven. Om technische reden zou ik ä willen om zetten naar & # 2 2 8 ; en | naar & # 1 2 4 ; enz....

Zonder spaties uiteraard :).

Nu is htmlspecialchars("string", ENT_QUOTES); geschikt er voor maar die doet alleen > en < " ',
en dat geeft dus niet de gewenste resultaat.

Nu vraag ik me af of hier voor een php functie voor is weet iemand het

(en ik heb php.net al afgezocht zonder resultaat :()

Triloxigen 05-01-2004 19:12

http://nl.php.net/htmlentities
http://nl.php.net/str_replace

TIGEK 05-01-2004 19:34

Dus er bestaat geen standaard functie :(

micra 06-01-2004 07:26

Ik weet niet of ik denk dat ik snap wat jij bedoelt:

PHP-code:

<?
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST["email"])){
                    echo"Je moet een geldig email adres invullen!";
  }
?>

Maar ik denk dat je dit ongeveer bedoelt.. ik heb het even snel gemaakt :) dus als er een foutje in staat :bloos: sorry

Triloxigen 06-01-2004 09:24

Citaat:

micra schreef op 06-01-2004 @ 08:26:
Ik weet niet of ik denk dat ik snap wat jij bedoelt:

PHP-code:

*knip

Maar ik denk dat je dit ongeveer bedoelt.. ik heb het even snel gemaakt :) dus als er een foutje in staat :bloos: sorry

Jij geeft een email validator, en hij vraagt om specialchars..

Maar TIGEK, doet htmlentities niet wat jij wilt?

micra 06-01-2004 10:53

Citaat:

********** schreef op 06-01-2004 @ 10:24:
Jij geeft een email validator, en hij vraagt om specialchars..

Maar TIGEK, doet htmlentities niet wat jij wilt?

Sorry :) ik wist ook niet zeker of hij dat bedoelde

Mag ik mijn leeftijd de schult geven?

Blowie 06-01-2004 13:23

Citaat:

TIGEK schreef op 05-01-2004 @ 20:08:
In een mailformulier mogen bezoekers dingen schrijven. Om technische reden zou ik ä willen om zetten naar & # 2 2 8 ; en | naar & # 1 2 4 ; enz....

Zonder spaties uiteraard :).

Nu is htmlspecialchars("string", ENT_QUOTES); geschikt er voor maar die doet alleen > en < " ',
en dat geeft dus niet de gewenste resultaat.

Nu vraag ik me af of hier voor een php functie voor is weet iemand het

(en ik heb php.net al afgezocht zonder resultaat :()

wat jij wil kan niet.. niet automatisch in 1 functie in ieder geval (mocht anders het geval zijn laat het dan ff weten :cool: :D)

Maar je zou het kunnen doen met ord() die geeft de ascii waarde terug.. het zou op 2 manieren kunnen.. alle vreemde' tekens vervangen die str_replace() of all tekens met ord() langsgaan en kijken welke er groter is dan 127 en die vervangen en de rest met rust te laten.. (ik zou voor optie 1 gaan denk ik..)

bron:
http://be2.php.net/manual/nl/function.ord.php
http://be2.php.net/manual/nl/function.chr.php
http://www.asciitable.com/


ps: htmlspecialchars("string", ENT_QUOTES) doet ook " en ' ..

TIGEK 06-01-2004 14:03

Citaat:

********** schreef op 06-01-2004 @ 10:24:
Jij geeft een email validator, en hij vraagt om specialchars..

Maar TIGEK, doet htmlentities niet wat jij wilt?

Deze doet Alleen " en ' < en >
Ik zou graag alle willen :)

Anders doet de Startpagina server moeilijk als ik mijn XML bestand met vreemd de tekens Upload :)

TIGEK 06-01-2004 19:18

Citaat:

Blowie schreef op 06-01-2004 @ 14:23:
wat jij wil kan niet.. niet automatisch in 1 functie in ieder geval (mocht anders het geval zijn laat het dan ff weten :cool: :D)

*KNIP*

ps: htmlspecialchars("string", ENT_QUOTES) doet ook " en ' ..

Het is gelukt :),

Met de volgende twee functies :)
PHP-code:

function split_by_char($str) {
$len strlen($str);
$streturn = array();
for (
$i=0$i<$len$i++) {
$streturn[$i] = substr($str$i1);
}
return 
$streturn;
}
function 
Special_Char($str) {
$strend =  split_by_char($str);
$count 0;
while(
$strend[$count]!=NULL){
 if(
eregi('[0-9a-z]'$strend[$count])) {
  
$count $count +1;
  }else{
  
$a ord ($strend[$count]);
  
$strend[$count] = "&#".$a;
  
$count $count 1;
  }
  }
 
$str implode($strend);
 return 
$str;
 } 

In de Brondcode van mijn Browser laat hij de tekens goed zien.
Maar nu het tweede probleem die ik niet verwachte mijn E-mail editor geeft het weer in de normale tekens. Hoevoorkom ik het dat het word omgezet naar de speciale tegens ipv ascii

Triloxigen 06-01-2004 21:23

Citaat:

TIGEK schreef op 06-01-2004 @ 20:18:
Het is gelukt :),

Met de volgende twee functies :)
PHP-code:

*knip

In de Brondcode van mijn Browser laat hij de tekens goed zien.
Maar nu het tweede probleem die ik niet verwachte mijn E-mail editor geeft het weer in de normale tekens. Hoevoorkom ik het dat het word omgezet naar de speciale tegens ipv ascii

Goed dat je de oplossing erbij zet, nu kunnen andere het ook gebruiken als ze de zoekfunctie gebruiken (y).

Verder snap ik het probleem niet..
Je hebt de textbox en email toch in aparte velden staan?

TIGEK 06-01-2004 22:02

Ja maar ik mail deze totale pagina naar mijn mail adress
ik krijg dan een link
<LINK location="http://www.domein.nl" extenstion="nieuw">Lalalal</LINK>
Kopieer hem en plak hem zo in in de xml bestand.

En aangezien ik LUI ben wil ik niet eerst alle speciale tekens er uit vissen :)

*Ik post hem maar meteen op phpfreakz.nl :)*

Triloxigen 06-01-2004 22:11

Ja, maar je hebt toch zoeist:
textveld: emailadres
textarea: de text

dan laat je toch de var van textarea door die functie gaan :?

TIGEK 06-01-2004 22:28

Klopt :)


Maar ik wil deze gevens door mailen naar me zelf Zodat ik er ook nog wat mee kan :)

Nu zit het probleem dat Outlook weer speciale tekens er van maak :( dus van & # 124; --> | (als ik het goed doe)

TIGEK 07-01-2004 11:39

Laat het laatste maar zitten had een foutje in mijn $php code (Mail functie)


Alle tijden zijn GMT +1. Het is nu 22:44.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.