---
title: "Ta bort slutet av en sträng"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/133404-ta-bort-slutet-av-en-sträng"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "learn"
published: "2005-08-28T14:39:03.000Z"
updated: "2005-09-09T17:47:20.000Z"
replies: 9
views: 542
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/133404-ta-bort-slutet-av-en-sträng"
---

# Ta bort slutet av en sträng

## #1 — learn, 2005-08-28T14:39Z

Jag har en sträng som kan se ut enligt följande:

> första/andra/tredje/

 

Hur gör jag för att ta bort "tredje/", obs ordet "tredje" kan vara vad som helst men slashen delar alltid upp strängen i "sektioner". Alltså hur tar man bort den sista sektionen?

Permalänk: https://www.webforum.nu/p/133404

## #2 — Matte, 2005-08-28T16:14Z

Testa med

```
$string = preg_replace("/[^\/]+(\/)?$/", "", $string);
```

Permalänk: https://www.webforum.nu/p/1663456

## #3 — learn, 2005-08-28T17:10Z

ok, kan man ha en variabel som "sökord"?

preg_replace( $str, "", $str2 ) funkar ju inte, hur ska man skriva?

Permalänk: https://www.webforum.nu/p/1663476

## #4 — Matte, 2005-08-28T17:12Z

Hur menar du att du skulle använt ett sökord ?

Permalänk: https://www.webforum.nu/p/1663477

## #5 — learn, 2005-08-28T17:24Z

$str menar jag är "sökordet", men jag löste det på egen hand. En annan fråga, hur gör man ifall det är en slash som skall bytas ut. 

Alltså om slashen är sökordet ;)

Permalänk: https://www.webforum.nu/p/1663483

## #6 — Matte, 2005-08-28T17:38Z

Har inget som helst grepp om vad du försöker göra.

Är det något på det här hållet du söker?

```
// Ditt sökord, kommer från något för mig okänt ställe
$sokord = 'tredje';

$search = $sokord == '*' ? '[^\/]+' : preg_quote($sokord, '/');

$string = preg_replace("/$search(\/)?$/", "", $string);
```

 
Då kan du använda '\*' för att ta bort tredje sektionen, oberoende av innehåll.

Kan du utveckla lite vad du försöker göra, så kanske du kan få lite bättre hjälp.

Permalänk: https://www.webforum.nu/p/1663487

## #7 — learn, 2005-08-28T19:12Z

Ah, sorry. jag tar det från början.

Jag försöker göra ett mappsystem. Det fungerar bra att "gå in i" mappar, alltså stega nedåt i hierarkin. Nu vill jag även kunna stega uppåt, dvs det ska finnas en länk som skickar användaren till den mapp som den aktuella mappen ligger i.

preg_replace ska då ta bort en bit av QUERY_STRING:en. Fast str_replace fungerar ju lika bra.

Permalänk: https://www.webforum.nu/p/1663515

## #8 — Matte, 2005-08-28T19:37Z

Och vad är ditt problem ?
Det verkar ju fungera för dig, om jag förstår rätt.

Permalänk: https://www.webforum.nu/p/1663528

## #9 — aasah, 2005-08-30T15:01Z

Problemet är väl att sökordet inte alltid är samma, antar jag.

```php
$str = "första/andra/tredje";
$lastSlashPos = strrpos($str, '/'); 
substr($ip, 0, $lastSlashPos);
```

$lastSlashPos hittar / mellan andra och tredje.
substr plockar ut allt före denna slash.

Permalänk: https://www.webforum.nu/p/1664000

## #10 — learn, 2005-09-09T17:47Z

precis, tack så mkt!

Permalänk: https://www.webforum.nu/p/1670318

---

Tråden på webben: https://www.webforum.nu/amne/php/133404-ta-bort-slutet-av-en-sträng
