WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   få position för ett tecken (https://www.wn.se/forum/showthread.php?t=1040039)

robincox 2010-01-16 15:55

få position för ett tecken
 
Jag skulle behöva få reda på vilken position mitt andra "slash" har i följande text sträng, jag tänker att det borde gå med substr

ex/mylittleurlstring/thisisatest/yesitis

robincox 2010-01-16 16:04

Löste det
 
Jag löste det med hjälp av explode()

HenSod 2010-01-16 18:28

Vill du veta på vilken plats ett visst tecken har i en sträng så finns strpos - http://se2.php.net/manual/en/function.strpos.php.

tartareandesire 2010-01-16 18:45

Citat:

Ursprungligen postat av HenSod (Inlägg 20339329)
Vill du veta på vilken plats ett visst tecken har i en sträng så finns strpos - http://se2.php.net/manual/en/function.strpos.php.

Då får du endast den första förekomsten. Det går visserligen att sedan använda substr och strpos en gång till om man så önskar för att få nummer två.

emilv 2010-01-16 19:40

Citat:

Ursprungligen postat av robincox (Inlägg 20339323)
Jag löste det med hjälp av explode()

Du behöver inte använda explode. Loopa bara igenom strängen som om den vore en array:

Kod:

$len = strlen($string);
$first_found = false;
for($i = 0; $i < $len; $i++) {
    if($string[$i] == '/') {
        if(!$first_found) {
            $first_found = true;
        }else{
            break;
        }
    }
}


HenSod 2010-01-16 21:22

Jag läste tråden slarvigt får jag erkänna. Såg inte att det var andra förekomsten av / du ville få ut.
Det kanske skulle fungera med strpos($haystack, $needle, strpos($haystack, $needle)). Här börjar sökningen från den positionen där första förekomsten av / är.

emilv 2010-01-16 22:42

Citat:

Ursprungligen postat av HenSod (Inlägg 20339362)
Jag läste tråden slarvigt får jag erkänna. Såg inte att det var andra förekomsten av / du ville få ut.
Det kanske skulle fungera med strpos($haystack, $needle, strpos($haystack, $needle)). Här börjar sökningen från den positionen där första förekomsten av / är.


Klart snyggaste lösningen. den gör frmodligen exakt samma sak som min under huven, men mycket tydligeare och lättare :-)


Alla tider är GMT +2. Klockan är nu 20:23.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson