Toon posts:

str_replace probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik moet voor een bepaald stukje data, single quotes vervangen door double qoutes, waarom is nu niet van belang.

PHP:
1
2
3
4
5
$string = " 'hello' ";

$output = str_replace("\'", "\"", $string); // dus van single-qoute naar double quote

echo $output; // 'hello'  en geen "hello"


mixed str_replace ( mixed $search, mixed $replace, mixed $subject [, int &$count] )

Hij replaced die single-quotes gewoon niet: ' en \' (ja het escaping-verhaal is me bekend) werken allebei niet, als $search parameter. Doe ik echter een 'a' maken van de $search parameter dan doet ie het wel gewoon netjes en maakt hij er double quotes van.

Op google, heb ik wel soortgelijke problemen gevonden, maar nergens een oplossing hiervoor. Ook in de got db gekeken natuurlijk, maar daar kon ik alleen dingen vinden die niet soortgelijk zijn met dit probleem.

Any ideas?

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Een single quote tussen dubbele quotes hoef je niet te escapen. Nu wil je \' met " vervangen en aangezien \' niet in je $string staat werkt dat dus niet.

PHP:
1
2
3
4
5
6
7
8
9
<?php
error_reporting(E_ALL);

$string = " 'hello' ";

$output = str_replace("'", "\"", $string); // dus van single-qoute naar double quote

echo $output; // "hello" 
?>

Sole survivor of the Chicxulub asteroid impact.


Verwijderd

Topicstarter
AtleX schreef op zondag 25 februari 2007 @ 14:50:
Een single quote tussen dubbele quotes hoef je niet te escapen. Nu wil je \' met " vervangen en aangezien \' niet in je $string staat werkt dat dus niet.

PHP:
1
2
3
4
5
6
7
8
9
<?php
error_reporting(E_ALL);

$string = " 'hello' ";

$output = str_replace("'", "\"", $string); // dus van single-qoute naar double quote

echo $output; // "hello" 
?>
Zoals je kon zien, heb ik zowel ' als \' geprobeerd ;)

  • cyberstalker
  • Registratie: September 2005
  • Niet online

cyberstalker

Eersteklas beunhaas

Je moet in het eerste argument de ' escapen met een dubbele backslash volgens mij. Dus str_replace("\\'", "\"", $string)

Ik ontken het bestaan van IE.


Verwijderd

Topicstarter
@Atlex:

Je had gelijk, ik had een foutje gemaakt in een ander stukje code, waardoor die functie niet werd aangeroepen met de string die ik wilde formatten :O 8)7 |:( Ach ja, kan iedereen overkomen zullen we maar zeggen, bedankt :)