---
title: "Nte förekomsten av sträng i sträng"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/108083-nte-förekomsten-av-sträng-i-sträng"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Mr. N."
published: "2004-07-28T10:03:57.000Z"
updated: "2004-07-28T11:06:22.000Z"
replies: 3
views: 255
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/108083-nte-förekomsten-av-sträng-i-sträng"
---

# Nte förekomsten av sträng i sträng

## #1 — Mr. N., 2004-07-28T10:03Z

Jag skulle behöva veta när den nte förekomsten av någonting inträffar i en lång sträng, alltså t ex vid vilken position den åttonde förekomsten av "hej" finns i en sträng.
Jag försökte med regexp men fick aldrig till det riktigt.

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

## #2 — Qimen, 2004-07-28T10:24Z

Om du splittar upp stringen med [explode](http://se.php.net/explode) sen loopar du igenom alla bitar och jämför med ditt ord, hittar den ordet så ökar den en räknare med ett. 

Något sådant du är ute ungefär?

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

## #3 — tydal, 2004-07-28T10:29Z

Använd funktionen strpos. Den har en för dig användbar tredje parameter som heter offset. Typ så här:

```
<?php
  $result = array();
  $str = "din jättelånga sträng";
  $sok = "det vi ska leta efter";
  $pos = 0;
  while (($pos = strpos($str, $sok, $pos)) !== false)
    $result[] = $pos++;
?>
```

Den åttonde positionen hittar du nu i $result\[7\].

(Förresten måste man nog öka $pos så den inte hittar samma position om och om igen.)
(Parenteser behövs också runt tilldelningen.)

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

## #4 — Mr. N., 2004-07-28T11:06Z

Wunderbar!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/108083-nte-förekomsten-av-sträng-i-sträng
