ë to &euml replace php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bart van der veen

bart van der veen

17/02/2007 15:32:00
Quote Anchor link
ik laad voor mijn site txt bestanden in, en dat gaat prima behalve bij de eaio met strepen en punten, nu weet dat je dat eigenlijk moet doen met &euml enz.

Heeft iemand hier nog een scriptje van liggen, of kent iemand de goede zoekterm voor google, ik kom er zelf niet echt uit.
 
PHP hulp

PHP hulp

22/11/2024 08:37:35
 
Jan Koehoorn

Jan Koehoorn

17/02/2007 15:34:00
Quote Anchor link
Gewoon htmlentities gebruiken.
 
Bart van der veen

bart van der veen

17/02/2007 15:48:00
Quote Anchor link
ja, nee die had ik al (soort van) het punt is,wat,blijft.

mijn txt bestandjes bevatten hier en daar ook wat html opmaak dingen (<h3> enz) dus hij moet ze wel bijven uitlezen als html. dit werkt prima, alleen nu heb ik het probleem dat als de codering op van utf8 zet het in de internet exploren rare karacters geeft en bij unicode krijg ik firefox vraagtekens.

dus toen dacht ik als iemand nu even nog wat heeft liggen om al mijn bijzondere karaters om te zetten naar &enz dan zou dat fijn zijn.
 
Jan Koehoorn

Jan Koehoorn

17/02/2007 15:54:00
Quote Anchor link
Als je txt bestandjes ook HTML opmaak bevatten, dan heb je een stap overgeslagen toen je ze maakte en hadden die &euml; enz. er al in moeten zitten. Nu zit je met een rare mix van tags en tekens.

Het enige dat je nu nog kunt doen is twee arrays maken. Eentje met alle gekke tekens erin, en eentje met de HTML entities erin. En dan met preg_replace aan de gang.
Edit:
Voorbeeldje (getest en werkt):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
    $search
= array ('ë', 'é', 'è');
    $replace = array ('&euml;', '&eacute;', '&egrave;');
    $tekst = 'Hééé, jullie tweeën! Lekker hè, zo\'n patatje speciaal!';
    $tekst = str_replace ($search, $replace, $tekst);
    echo $tekst;
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Bart van der veen

bart van der veen

17/02/2007 16:02:00
Quote Anchor link
oke, dat snap ik, maar het rare is dat het niet lekker werkt in een de browsers ff of ie, afhankelijk van de codering unicode of utf8

http://www.nvmac.nl/new/geschiedenis.php?loc=1
Gewijzigd op 01/01/1970 01:00:00 door bart van der veen
 
- -

- -

17/02/2007 16:04:00
Quote Anchor link
Je kunt ook dit doen, voortbordurend op het idee van Jan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$text
= 'de tekst uit dat bestand.';
$text = htmlentities($text);

$ent = array('&gt;', '&lt;' /*en alle andere html-dingen, denk aan quotes...*/);
$html = array('>', '<', /*enz*/); //denk eraan dezelfde volgorde als in $ent te gebruiken

$text = str_replace($ent, $html, $text);

echo $text;

?>


Edit:
Jan was iets eerder, maar hiermee hoef je alleen alle HTML-karakters in je script te zetten.
Gewijzigd op 01/01/1970 01:00:00 door - -
 
Jan Koehoorn

Jan Koehoorn

17/02/2007 16:09:00
Quote Anchor link
bart van der veen schreef op 17.02.2007 16:02:
oke, dat snap ik, maar het rare is dat het niet lekker werkt in een de browsers ff of ie, afhankelijk van de codering unicode of utf8

http://www.nvmac.nl/new/geschiedenis.php?loc=1

Op die pagina is ook gewoon de HTML code te zien, dus daar heb je waarschijnlijk htmlentities () over de tekst gehaald terwijl het juist niet moest.
 
Arjan Schuurman

Arjan Schuurman

17/02/2007 16:11:00
Quote Anchor link
dit alles kan tog ook gewoon alsje htmlspecialchars() en htmlentities() erover heen gooit???
 
Bart van der veen

bart van der veen

17/02/2007 16:15:00
Quote Anchor link
heb het nu in asci codering, zonder html entities en met de replace van jan.

en die combi werkt
 
Jan Koehoorn

Jan Koehoorn

17/02/2007 16:18:00
Quote Anchor link
bart van der veen schreef op 17.02.2007 16:15:
heb het nu in asci codering, zonder html entities en met de replace van jan.

en die combi werkt

Mooi! :-))
 
Niek s

niek s

17/02/2007 16:19:00
Quote Anchor link
Arjan Schuurman schreef op 17.02.2007 16:11:
dit alles kan tog ook gewoon alsje htmlspecialchars() en htmlentities() erover heen gooit???


Nee want dan is zijn opmaak er niet meer.
 
Bart van der veen

bart van der veen

17/02/2007 16:39:00
Quote Anchor link
of gewoon je characterset goed instellen

<META http-equiv="content-type" content="text/html;charset=iso-8859-1"> ipv
<META http-equiv="content-type" content="text/html;charset=utf-8">

het zal wel weer vakantie zijn zeker.... ;-(
 



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.