Avatar billede radion Nybegynder
02. august 2005 - 17:11 Der er 7 kommentarer og
1 løsning

erstat mellemrum inde i quotes

Jeg er igang med en søgealgoritme, og skulle gerne have erstattet alle mellemrum der er mellem " og " med ¤

en søgestreng kan fx se sådan ud,

"en hund" kat

og den skulle gerne komme til at se således ud
en¤hund kat

nogen der kan hjælpe med det?
jeg bruger PHP preg_replace

så hvis der kunne være en løsning med preg_replace ville det være perfekt :)
mvh. Radion
Avatar billede nielle Nybegynder
02. august 2005 - 18:15 #1
Kan der være mere end et sæt quotes? Altså:

"en hund", en kat, "og en sød lille mus"
Avatar billede nielle Nybegynder
02. august 2005 - 18:20 #2
Måske sådan her?

$tekst = "\"en hund\" kat"

$tekst = preg_replace("/\".*(\s).*\"/", "¤", $tekst);
Avatar billede radion Nybegynder
02. august 2005 - 18:30 #3
Det virker som om det er hele teksten mellem " og " der bliver erstattet med ¤
Avatar billede radion Nybegynder
02. august 2005 - 18:31 #4
men, ja der kan godt være flere "" i en søge streng
Avatar billede nielle Nybegynder
02. august 2005 - 18:46 #5
Et bud:

$tekst = "\"en hund\", en kat, \"og en sød lille mus\"";
$tekstArr = explode("\"", $tekst);

for ($idx=1; $idx<count($tekstArr); $idx+=2)
{
    $tekstArr[$idx] = preg_replace("/ /", "¤", $tekstArr[$idx]);
}

$tekst = implode("\"$tekstArr");
Avatar billede radion Nybegynder
02. august 2005 - 18:55 #6
den nederste linie skulle lige være
$tekst = implode($tekstArr);
men, så virker det også :D
super arbejde, smider du et svar? :D
Avatar billede nielle Nybegynder
02. august 2005 - 18:56 #7
Ahh, jeg havde ikke lige set at du ville smide "-tegene væk.

... og et svar :^)
Avatar billede radion Nybegynder
02. august 2005 - 19:00 #8
jeps, væk med dem :)

men, eller skulle linien vel være
$tekst = implode("\"",$tekstArr);
i stedet :)

tak for hjælpen, det er nydeligt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester