|
| Brug af " i en split Fra : Ghashûl |
Dato : 04-03-01 20:17 |
|
Hej!
Når jeg lige nu sender dette til mit PHP script
"test1 test2" test3 "test4 test5"
Og så bruger split til at dele det op, så ryger det i 5 forskellige
elementer således:
[0] --> "test1
[1] --> test2"
[2] --> test3
[3] --> "test4
[4] --> test5"
Og det jeg ønsker var at det kom således:
[0] --> test1 test2
[1] --> test3
[2] --> test4 test5
Er der overhovedet nogen mulighed for at kunne gøre det således?
Al hjælp ville være dejligt.
Tusind tak, på forhånd.
--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7223629
E-mail: stefan@bruhn.to
URL: http://www.ghashul.dk
| |
Henrik Hansen (04-03-2001)
| Kommentar Fra : Henrik Hansen |
Dato : 04-03-01 21:17 |
|
Ghashûl <ghashul@ghashul.dk> wrote:
> Hej!
>
> Når jeg lige nu sender dette til mit PHP script
>
> "test1 test2" test3 "test4 test5"
> Og så bruger split til at dele det op, så ryger det i 5 forskellige
$str = "\"test1 test2\" test3 \"test4 test5\"";
$arrStr = split("\"", $str);
echo $arrStr[1];
skulle gøre det, men den giver 2 tomme pladser på 0 og 3 pga
mellemrum, de skal nok rydes ud
--
Henrik Hansen
| |
Ghashûl (04-03-2001)
| Kommentar Fra : Ghashûl |
Dato : 04-03-01 22:24 |
|
On 04 Mar 2001 21:16:30 +0100, Henrik Hansen <hh@mailserver.dk> wrote:
>Ghashûl <ghashul@ghashul.dk> wrote:
>
> > Hej!
> >
> > Når jeg lige nu sender dette til mit PHP script
> >
> > "test1 test2" test3 "test4 test5"
> > Og så bruger split til at dele det op, så ryger det i 5 forskellige
>
>$str = "\"test1 test2\" test3 \"test4 test5\"";
>
>$arrStr = split("\"", $str);
>
>echo $arrStr[1];
>
>skulle gøre det, men den giver 2 tomme pladser på 0 og 3 pga
>mellemrum, de skal nok rydes ud
Ok, takker.
Er der en smart måde at råde op i arrayet på?
Så
Array
(
[0] =>
[1] => test1 test2
[2] => test3
[3] => test4 test5
[4] =>
)
1
bliver til
Array
(
[0] => test1 test2
[1 => test3 //her var der et mellemrum før og efter
[2] => test4 test5
)
1
--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7223629
E-mail: stefan@bruhn.to
URL: http://www.ghashul.dk
| |
Henrik Hansen (04-03-2001)
| Kommentar Fra : Henrik Hansen |
Dato : 04-03-01 23:27 |
|
Ghashûl <ghashul@ghashul.dk> wrote:
> Er der en smart måde at råde op i arrayet på?
> Så
>
> Array
> (
> [0] =>
> [1] => test1 test2
> [2] => test3
> [3] => test4 test5
> [4] =>
> )
> 1
while (list ($key, $val) = each ($array)) {
if(empty($array[$key])) {
// ved ikke lige om det virker
unset($array[$key]);
} else {
// af med widthspace
$array[$key] = trim($array[$val]);
}
}
--
Henrik Hansen
| |
Ghashûl (05-03-2001)
| Kommentar Fra : Ghashûl |
Dato : 05-03-01 15:32 |
|
On 04 Mar 2001 23:26:35 +0100, Henrik Hansen <hh@mailserver.dk> wrote:
>Ghashûl <ghashul@ghashul.dk> wrote:
>
> > Er der en smart måde at råde op i arrayet på?
> > Så
> >
> > Array
> > (
> > [0] =>
> > [1] => test1 test2
> > [2] => test3
> > [3] => test4 test5
> > [4] =>
> > )
> > 1
>
>while (list ($key, $val) = each ($array)) {
> if(empty($array[$key])) {
> // ved ikke lige om det virker
> unset($array[$key]);
> } else {
> // af med widthspace
> $array[$key] = trim($array[$val]);
> }
>}
Hey!
Tusind tak. Det virkede først ikke men så søge jeg på PHP.net efter
list og fandt ud af jeg skulle bruge sort på mit array først.
Det har jeg så gjort og nu kører det bare!
--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7223629
E-mail: stefan@bruhn.to
URL: http://www.ghashul.dk
| |
Ghashûl (05-03-2001)
| Kommentar Fra : Ghashûl |
Dato : 05-03-01 16:00 |
|
On Mon, 05 Mar 2001 15:32:14 +0100, Ghashûl <ghashul@ghashul.dk>
wrote:
>Hey!
>
>Tusind tak. Det virkede først ikke men så søge jeg på PHP.net efter
>list og fandt ud af jeg skulle bruge sort på mit array først.
>
>Det har jeg så gjort og nu kører det bare!
>
Og så alligevel ikke, eksempel:
$keywords = "test1 test2 test3 \"test4 test5\"";
$words = split("\"", $keywords);
sort ($words);
while (list ($key, $val) = each ($words)) {
$words[$key] = trim($words[$key]);
if(empty($words[$key])) {
unset($words[$key]);
}
}
sort ($words);
reset ($words);
Array
(
[0] => test1 test2 test3
[1] => test4 test5
)
1
Ved du hvordan man slipper uden om det problem?
--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7223629
E-mail: stefan@bruhn.to
URL: http://www.ghashul.dk
| |
Henrik Hansen (05-03-2001)
| Kommentar Fra : Henrik Hansen |
Dato : 05-03-01 16:08 |
|
Ghashûl <ghashul@ghashul.dk> wrote:
> Ved du hvordan man slipper uden om det problem?
>
Det ser da korrekt nok ud for mig, hvad er problemet?
--
Henrik Hansen
| |
Ghashûl (05-03-2001)
| Kommentar Fra : Ghashûl |
Dato : 05-03-01 17:27 |
|
On 05 Mar 2001 16:08:00 +0100, Henrik Hansen <hh@mailserver.dk> wrote:
>Ghashûl <ghashul@ghashul.dk> wrote:
>
> > Ved du hvordan man slipper uden om det problem?
> >
>
>Det ser da korrekt nok ud for mig, hvad er problemet?
test1 test2 test3 skulle gerne være i separate søgefelter, da de ikke
er inden for " ".
--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7223629
E-mail: stefan@bruhn.to
URL: http://www.ghashul.dk
| |
Henrik Hansen (05-03-2001)
| Kommentar Fra : Henrik Hansen |
Dato : 05-03-01 20:30 |
|
Ghashûl <ghashul@ghashul.dk> wrote:
> >Det ser da korrekt nok ud for mig, hvad er problemet?
>
> test1 test2 test3 skulle gerne være i separate søgefelter, da de ikke
> er inden for " ".
nå for hulen, well så må du have en ekstra split ind et sted :)
--
Henrik Hansen
| |
Ghashûl (05-03-2001)
| Kommentar Fra : Ghashûl |
Dato : 05-03-01 20:40 |
|
On 05 Mar 2001 20:30:27 +0100, Henrik Hansen <hh@mailserver.dk> wrote:
>Ghashûl <ghashul@ghashul.dk> wrote:
>
> > >Det ser da korrekt nok ud for mig, hvad er problemet?
> >
> > test1 test2 test3 skulle gerne være i separate søgefelter, da de ikke
> > er inden for " ".
>
>nå for hulen, well så må du have en ekstra split ind et sted :)
Yay, men jeg kan ikke lige regne ud hvordan det skal gøres.
Når det bliver delt op bliver "erne jo fjernet. Så man kan bagefter
ikke se at de første ikke skulle have hørt sammen, men de sidste
skulle.
--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7two23six29
E-mail: stefan at bruhn dot to
URL: http://www.ghashul.dk
| |
Henrik Hansen (05-03-2001)
| Kommentar Fra : Henrik Hansen |
Dato : 05-03-01 20:43 |
|
Ghashûl <look@my-sig.ghashul.dk> wrote:
> On 05 Mar 2001 20:30:27 +0100, Henrik Hansen <hh@mailserver.dk> wrote:
>
> >Ghashûl <ghashul@ghashul.dk> wrote:
> >
> > > >Det ser da korrekt nok ud for mig, hvad er problemet?
> > >
> > > test1 test2 test3 skulle gerne være i separate søgefelter, da de ikke
> > > er inden for " ".
> >
> >nå for hulen, well så må du have en ekstra split ind et sted :)
>
> Yay, men jeg kan ikke lige regne ud hvordan det skal gøres.
> Når det bliver delt op bliver "erne jo fjernet. Så man kan bagefter
> ikke se at de første ikke skulle have hørt sammen, men de sidste
> skulle.
Well nu ved jeg ikke hvordan dine linjer ser ud, men i dette tilfæle
ved du jo at $array[0] er dem uden for " ", og $array[1] er dem inden
i, ved ikke om dette er gældende for alle dine linjer.
--
Henrik Hansen
| |
Ghashûl (05-03-2001)
| Kommentar Fra : Ghashûl |
Dato : 05-03-01 21:08 |
|
On 05 Mar 2001 20:43:06 +0100, Henrik Hansen <hh@mailserver.dk> wrote:
>Ghashûl <look@my-sig.ghashul.dk> wrote:
>
> > On 05 Mar 2001 20:30:27 +0100, Henrik Hansen <hh@mailserver.dk> wrote:
> >
> > >Ghashûl <ghashul@ghashul.dk> wrote:
> > >
> > > > >Det ser da korrekt nok ud for mig, hvad er problemet?
> > > >
> > > > test1 test2 test3 skulle gerne være i separate søgefelter, da de ikke
> > > > er inden for " ".
> > >
> > >nå for hulen, well så må du have en ekstra split ind et sted :)
> >
> > Yay, men jeg kan ikke lige regne ud hvordan det skal gøres.
> > Når det bliver delt op bliver "erne jo fjernet. Så man kan bagefter
> > ikke se at de første ikke skulle have hørt sammen, men de sidste
> > skulle.
>
>Well nu ved jeg ikke hvordan dine linjer ser ud, men i dette tilfæle
>ved du jo at $array[0] er dem uden for " ", og $array[1] er dem inden
>i, ved ikke om dette er gældende for alle dine linjer.
Nej, problemet er at det er en søgebox så jeg ved ikke hvad folk kan
finde på at kaste i den, det er det der gør det så hulens svært ;)
Men det må jo nødvendigvis kunne lade sig gøre, vidner f.x. Google.
--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7two23six29
E-mail: stefan at bruhn dot to
URL: http://www.ghashul.dk
| |
Jonas Häggqvist (07-03-2001)
| Kommentar Fra : Jonas Häggqvist |
Dato : 07-03-01 13:40 |
|
On Mon, 05 Mar 2001 21:07:47 +0100, Ghashûl <look@my-sig.ghashul.dk>
wrote:
>On 05 Mar 2001 20:43:06 +0100, Henrik Hansen <hh@mailserver.dk> wrote:
>
>>Ghashûl <look@my-sig.ghashul.dk> wrote:
>>
>> > On 05 Mar 2001 20:30:27 +0100, Henrik Hansen <hh@mailserver.dk> wrote:
>> >
>> > >Ghashûl <ghashul@ghashul.dk> wrote:
>> > >
>> > > > >Det ser da korrekt nok ud for mig, hvad er problemet?
>> > > >
>> > > > test1 test2 test3 skulle gerne være i separate søgefelter, da de ikke
>> > > > er inden for " ".
>> > >
>> > >nå for hulen, well så må du have en ekstra split ind et sted :)
>> >
>> > Yay, men jeg kan ikke lige regne ud hvordan det skal gøres.
>> > Når det bliver delt op bliver "erne jo fjernet. Så man kan bagefter
>> > ikke se at de første ikke skulle have hørt sammen, men de sidste
>> > skulle.
>>
>>Well nu ved jeg ikke hvordan dine linjer ser ud, men i dette tilfæle
>>ved du jo at $array[0] er dem uden for " ", og $array[1] er dem inden
>>i, ved ikke om dette er gældende for alle dine linjer.
>
>Nej, problemet er at det er en søgebox så jeg ved ikke hvad folk kan
>finde på at kaste i den, det er det der gør det så hulens svært ;)
>
>Men det må jo nødvendigvis kunne lade sig gøre, vidner f.x. Google.
>
$words = explode(" ",stripslashes($pattern));
foreach ($words as $word) {
if (substr($word, 0,1)=='"') {
$begin = 1;
$i++;
$word = substr($word, 1);
}
if ($word<>"") {
if (!$begin) { $i++; $match[$i] = $word; }
else { $match[$i] .= $word." "; }
}
if(substr($word, -1)=='"') {
$begin = 0;
$match[$i] = substr(chop($match[$i]), 0, -1);
}
}
print_r($match);
Bøvlet kode, der sikkert kunne laves meget smartere, men så vidt jeg
kan se, så virker det i det mindste.
--
Jonas Häggqvist
| |
Ghashûl (07-03-2001)
| Kommentar Fra : Ghashûl |
Dato : 07-03-01 17:20 |
|
On Wed, 07 Mar 2001 13:39:49 +0100, Jonas Häggqvist <jfh@adr.dk>
wrote:
>On Mon, 05 Mar 2001 21:07:47 +0100, Ghashûl <look@my-sig.ghashul.dk>
>wrote:
>
>>On 05 Mar 2001 20:43:06 +0100, Henrik Hansen <hh@mailserver.dk> wrote:
>>
>>>Ghashûl <look@my-sig.ghashul.dk> wrote:
>>>
>>> > On 05 Mar 2001 20:30:27 +0100, Henrik Hansen <hh@mailserver.dk> wrote:
>>> >
>>> > >Ghashûl <ghashul@ghashul.dk> wrote:
>>> > >
>>> > > > >Det ser da korrekt nok ud for mig, hvad er problemet?
>>> > > >
>>> > > > test1 test2 test3 skulle gerne være i separate søgefelter, da de ikke
>>> > > > er inden for " ".
>>> > >
>>> > >nå for hulen, well så må du have en ekstra split ind et sted :)
>>> >
>>> > Yay, men jeg kan ikke lige regne ud hvordan det skal gøres.
>>> > Når det bliver delt op bliver "erne jo fjernet. Så man kan bagefter
>>> > ikke se at de første ikke skulle have hørt sammen, men de sidste
>>> > skulle.
>>>
>>>Well nu ved jeg ikke hvordan dine linjer ser ud, men i dette tilfæle
>>>ved du jo at $array[0] er dem uden for " ", og $array[1] er dem inden
>>>i, ved ikke om dette er gældende for alle dine linjer.
>>
>>Nej, problemet er at det er en søgebox så jeg ved ikke hvad folk kan
>>finde på at kaste i den, det er det der gør det så hulens svært ;)
>>
>>Men det må jo nødvendigvis kunne lade sig gøre, vidner f.x. Google.
>>
>
>$words = explode(" ",stripslashes($pattern));
>foreach ($words as $word) {
> if (substr($word, 0,1)=='"') {
> $begin = 1;
> $i++;
> $word = substr($word, 1);
> }
>
> if ($word<>"") {
> if (!$begin) { $i++; $match[$i] = $word; }
> else { $match[$i] .= $word." "; }
> }
>
> if(substr($word, -1)=='"') {
> $begin = 0;
> $match[$i] = substr(chop($match[$i]), 0, -1);
> }
>}
>
>print_r($match);
>
>Bøvlet kode, der sikkert kunne laves meget smartere, men så vidt jeg
>kan se, så virker det i det mindste.
Yes, det ser faktisk ud til at virke perfekt!!
Tusind tak for hjælpen, hvis jeg så nu får bygget min SQL ordenligt
kan jeg få lavet den vilde søgemaskine ;)
--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><
ICQ: 7two23six29
E-mail: stefan at bruhn dot to
URL: http://www.ghashul.dk
| |
|
|