problemen met str_replace en preg_replace

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans W

Hans W

23/05/2011 16:20:50
Quote Anchor link
Ik heb een scriptje die in sommige gevallen ?& in de url opleverd.
De kortste en snelste manier om dit op te vangen als dit ontstaat, is een replacement aan het eind.

maar als ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $string = str_replace('?&', '?', $string); ?>
gebruik, gebeurt er niks.
Als ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $string = preg_replace('?&', '?', $string); ?>
krijg ik de melding "Warning: preg_replace() [function.preg-replace]: No ending delimiter '?' found ...".

Wat doe ik verkeerd?
Alvast bedankt!
Gewijzigd op 23/05/2011 16:30:07 door Hans W
 
PHP hulp

PHP hulp

19/05/2024 14:43:19
 
- Mark -

- Mark -

23/05/2011 16:24:42
Quote Anchor link
Je stop het resultaat nergens in.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $string = str_replace('?&', '&', $string); ?>
 
Hans W

Hans W

23/05/2011 16:28:48
Quote Anchor link
In mijn script doe ik dat wel, was ik hier vergeten bij te zetten.
Heb het aangepast.
Gewijzigd op 23/05/2011 16:29:31 door Hans W
 
Vincent Huisman

Vincent Huisman

23/05/2011 16:30:17
Quote Anchor link
echo $string dan eens
 
Hans W

Hans W

23/05/2011 16:33:31
Quote Anchor link
$string = localhost/index.php?&var1=value

met str_replace: 'localhost/index.php?&var1=value'
met preg_replace bovengenoemde foutmelding en 'localhost/index.php?'
 
Wouter J

Wouter J

23/05/2011 16:34:51
Quote Anchor link
Bij die preg_replace ga je helemaal verkeerd met je pattern. Want elk pattern moet in een regex beginnen met / en eindigen met /. Daarnaast is ? in regexen een metacharacter, wat betekend dat je deze moet escapen. De juiste regex wordt dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$string
= preg_replace('/\?&/', '?', $string);
?>


Maar de str_replace zou volgens mij gewoon kunnen werken.
 
Hans W

Hans W

23/05/2011 16:40:59
Quote Anchor link
Oke, bedankt voor de uitleg van preg_replace, snap ik dat ook.

Mijn excuses, de fout zat niet in str_replace, ik voerde hem alleen te vroeg uit (voor het samenvoegen van de twee delen van de url met ?, dus dan kan-ie '?&' dan inderdaad niet vinden).
Dit had ik even over het hoofd gezien.
Iig bedankt allemaal!
 



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.