[PGN]ereg_replace \n vervangen werkt niet

Pagina: 1
Acties:

  • Rainmaker1987
  • Registratie: Juni 2005
  • Laatst online: 08-12-2024
Voor het verwerken van data moet ik een hoop rotzooi eruit filteren. Nu ben ik me aan het verdiepen in RegExp en dat lijkt goed te werken. Op 1 stuk na. Volgens het voorbeeld op php.net hoor je "newlines" (\n) te kunnen vervangen doormiddel van de volgende code

PHP:
1
$string = ereg_replace("\n", "", $string);


In mijn stuk code heb ik het volgende staan ($string is vervangen door $game maar de rest is volgens mij allemaal hetzelfde)

PHP:
1
2
3
4
5
$game = ereg_replace("\n", "", $game);
$replace = "\([A-Za-z0-9\.\,\{\}\-\_\$\+\=\n ]*\)";
$game = ereg_replace($replace, '', $game);
$replace = "{[A-Za-z0-9\.\,\(\)\-\_\$\+\=\n ]*}";
$game = ereg_replace($replace, '', $game);


De tweede en derde ereg_replace functioneren naar behoren wanneer ik de code uit mn browser kopieer en plak. Hierbij raak je namelijk die \n's kwijt. Het vervangen van deze \n werkt helaas niet. Zie ik hier nou iets over het hoofd?

PHP versie (5.x.x) 5.2.1

Ps. Ik heb ook geprobeerd het zonder ' en " te doen. Op dat moment gaat hij gewoon alle n-en vervangen.

[ Voor 5% gewijzigd door Rainmaker1987 op 16-05-2007 15:09 . Reden: typo ]


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Probeer eens "\n\r".

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • Rainmaker1987
  • Registratie: Juni 2005
  • Laatst online: 08-12-2024
Bedankt, in \r had ik helemaal niet gezocht. Het vervelende is dat je niet kan zien (bij mijn weten) wat voor een regelscheiding het is.

De oplossing was overigens niet: \n\r maar alleen \r

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
"\n\r" is het sowieso nooit, bij platforms waar zowel carriage return als linefeed gebruikt wordt als line ending is het toch echt "\r\n".

[ Voor 5% gewijzigd door Voutloos op 16-05-2007 15:16 ]

{signature}


  • GlowMouse
  • Registratie: November 2002
  • Niet online
Regular expressions zijn overkill om newlines te filteren. Daarvoor kun je beter str_replace gebruiken.

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
PHP:
1
$output = str_replace(array("\n", "\r"), '', $input);


zoiets was het volgens mij om ze allebei te pakken :)
Pagina: 1