/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
opsplitning af streng med slash
Fra : RHO


Dato : 13-07-03 02:06

Hej

Hvordan splitter jeg en streng ved "/"
Mere konkret: Givet strengen "/dir/subdir/doc.php". Jeg ønsker et array
('dir','subdir','doc.php')

RHO



 
 
Peter Brodersen (13-07-2003)
Kommentar
Fra : Peter Brodersen


Dato : 13-07-03 02:46

On Sun, 13 Jul 2003 03:06:13 +0200, "RHO" <dsl8955@vip.cybercity.dk>
wrote:

>Hvordan splitter jeg en streng ved "/"
>Mere konkret: Givet strengen "/dir/subdir/doc.php". Jeg ønsker et array
>('dir','subdir','doc.php')

$array = preg_split("_/_", "/dir/subdir/doc.php", -1,
PREG_SPLIT_NO_EMPTY);

Hvis det ikke gør noget, at der er tomme led med, så kan du klare dig
med explode:
$array = explode("/","/dir/subdir/doc.php");

--
- Peter Brodersen

Anders K. Madsen (13-07-2003)
Kommentar
Fra : Anders K. Madsen


Dato : 13-07-03 03:19

On Sun, 13 Jul 2003 03:46:29 +0200
Peter Brodersen <usenet@ter.dk> wrote:

> On Sun, 13 Jul 2003 03:06:13 +0200, "RHO" <dsl8955@vip.cybercity.dk>
> wrote:
>
> >Hvordan splitter jeg en streng ved "/"
> >Mere konkret: Givet strengen "/dir/subdir/doc.php". Jeg ønsker et array
> >('dir','subdir','doc.php')
>
> $array = preg_split("_/_", "/dir/subdir/doc.php", -1,
> PREG_SPLIT_NO_EMPTY);
>
> Hvis det ikke gør noget, at der er tomme led med, så kan du klare dig
> med explode:
> $array = explode("/","/dir/subdir/doc.php");

explode() er også hurtigere end split() og preg_split(), da den ikke kræver at
regex-masikeriet kører...
Hvis du vil slippe for tomme værdier i arrayet, så kan det sagtens gøres sådan
her:

$path = "/en/sti/til/noget.txt";
$array = explode("/", $path);

// Tjek om den første værdi i arrayet er tom.
if (empty($array[0])) {
// Den var tom. Smid den ud af arrayet.
array_shift($array);
}

// Tjek om den sidste værdi i arrayet er tom.
// (Hvis f.eks. $path = "/sti/til/noget/")
if (empty($array[count($array)-1])) {
// Den var tom, ud med den.
array_pop($array);
}


Mvh.
Madsen


--
- - - - - - - - - - - - - - + - - - - - - - - - - - - - - +
| Anders K. Madsen
http://lillesvin.linux.dk |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| There are 10 types of people in the world... |
Those who understand binary - and those who don't.
| - http://bash.org |
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

Jesper Brunholm (13-07-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 13-07-03 07:41

RHO wrote:
> Hej
>
> Hvordan splitter jeg en streng ved "/"
> Mere konkret: Givet strengen "/dir/subdir/doc.php". Jeg ønsker et array
> ('dir','subdir','doc.php')

Du bør nok tage et kig på især pathinfo(), men måske også parse_str(),
parse_url() og dirname()

der er lavet en del i den retning :)

mvh

Jesper Brunholm


Anders K. Madsen (13-07-2003)
Kommentar
Fra : Anders K. Madsen


Dato : 13-07-03 16:40

On Sun, 13 Jul 2003 09:25:21 +0200
"Jette" <jniKATTE@BAKKEomnix.dk> wrote:

> "Anders K. Madsen" skrev:
> > $array = preg_split("_/_", "/dir/subdir/doc.php", -1,
> > PREG_SPLIT_NO_EMPTY);
>
> I én af kommentarerne til array_filter på php.net, står der at man kan
> slette tomme (falske) værdier fra et array ved ganske enkelt at skrive:
>
> $my_array = array_filter($my_array);
>
> Dette fjerner elementer som f.eks.
> FALSE
> 0
> 0.0
> "" og "0"
> NULL
>
> ... jeg har dog ikke selv afprøvet det..
>

Uhm... Sweet.. Den har jeg slet ikke set...
Den kan selvfølgelig også bruges, men så skal man være sikker på at der ikke er
et dir der hedder "0" i den path man bruger, for det vil altså forsvinde fra
arrayet så. Også selvom det er midt i.

Mvh.
   Madsen

--
- - - - - - - - - - - - - - + - - - - - - - - - - - - - - +
| Anders K. Madsen
http://lillesvin.linux.dk |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| There are 10 types of people in the world... |
Those who understand binary - and those who don't.
| - http://bash.org |
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste