str_replace met TAB

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Henk Tenk

Henk Tenk

18/11/2010 14:13:13
Quote Anchor link
Hallo,

In mijn bestand staat C {spatie} dit wil ik vervangen door C {tab}.
Ik gebruik deze code maar die werkt niet!
Quote:
$data=fread($handle, filesize($file));
$data=str_replace("C ", "\t", $data);


Snapt iemand dat?
 
PHP hulp

PHP hulp

22/12/2024 07:09:29
 

18/11/2010 14:16:38
Quote Anchor link
En wat werkt er dan niet?
 
Ozzie PHP

Ozzie PHP

18/11/2010 14:20:12
Quote Anchor link
Je vervangt nu C[spatie] door een tab terwijl je in je 1e zin schrjift dat je het wil vervangen door C
.

Dan zou het dus al worden:

$data=fread($handle, filesize($file));
$data=str_replace("C ", "C\t", $data);

Als je de $data echoot dan tussen dubbele aanhalingstekens.
 
- SanThe -

- SanThe -

18/11/2010 15:53:02
Quote Anchor link
Ozzie PHP op 18/11/2010 14:20:12:
Als je de $data echoot dan tussen dubbele aanhalingstekens.


Waarom?
Een $var hoort helemaal niet tussen quotes te staan.
 
Ozzie PHP

Ozzie PHP

18/11/2010 16:02:56
Quote Anchor link
Maar wel als er speciale tekens tussen staan, bjivoorbeeld een regeleind \n. Die speciale tekens moeten geparsed worden anders komen ze gewoon in beeld te staan.
 
Vincent Huisman

Vincent Huisman

18/11/2010 16:06:16
Quote Anchor link
nl2br()
Gewijzigd op 18/11/2010 16:06:27 door Vincent Huisman
 

18/11/2010 16:08:04
Quote Anchor link
Ozzie PHP op 18/11/2010 16:02:56:
Maar wel als er speciale tekens tussen staan, bjivoorbeeld een regeleind \n. Die speciale tekens moeten geparsed worden anders komen ze gewoon in beeld te staan.


Nee.
Variabelen binnen quotes is altijd onzin (naja, misschien zijn er één of twee situaties waar het nog wel oké is).
Zie language.types.string#language.types.string.syntax.double, die \t tussen die "" daar is dus al voldoende.

Vincent Huisman op 18/11/2010 16:06:16:
nl2br()

Lees eens: TAB!
Gewijzigd op 18/11/2010 16:08:43 door
 
- SanThe -

- SanThe -

18/11/2010 16:09:19
Quote Anchor link
Ozzie PHP op 18/11/2010 16:02:56:
Maar wel als er speciale tekens tussen staan, bjivoorbeeld een regeleind \n. Die speciale tekens moeten geparsed worden anders komen ze gewoon in beeld te staan.


Dus volgens jou werkt dit niet?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$var
= "hallo\nhoe\tis\thet?";
echo $var;
?>

Werkt dus gewoon.
 
Ozzie PHP

Ozzie PHP

18/11/2010 16:13:36
Quote Anchor link
We begrepen elkaar verkeerd. Wat ik bedoelde was dat die \n tussen dubbele aanhalingstekens moet staan, echo "\n". Dan krijg je dus idd de bovenstaande code en die werkt. Ik bedoelde dus niet dat de variabele zelf tussen aanhalingstekens moet staan.
 
- SanThe -

- SanThe -

18/11/2010 16:16:50
Quote Anchor link
Aha, dan heb jij inderdaad gelijk. "\t" werkt en '\t' niet.
 

18/11/2010 16:18:11
Quote Anchor link
Ozzie PHP op 18/11/2010 14:20:12:
(...)

Als je de $data echoot dan tussen dubbele aanhalingstekens.


Is wel dubbel met wat je daar zegt :-)
 
Henk Tenk

Henk Tenk

18/11/2010 16:54:06
Quote Anchor link
ik heb al een andere oplossing gevonden.
Deze word pas toegepast in een latere fase als ik al de data 1 voor 1 aan het echo'n ben ;)
 
Ozzie PHP

Ozzie PHP

18/11/2010 16:56:50
Quote Anchor link
Karl Karl op 18/11/2010 16:18:11:
Ozzie PHP op 18/11/2010 14:20:12:
(...)

Als je de $data echoot dan tussen dubbele aanhalingstekens.


Is wel dubbel met wat je daar zegt :-)

hihihi :-)
 



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.