webForumDet fria alternativet

Plocka ut

PHPur PHP

7 svar · 411 visningar · startad av Qimen

Medlem sedan juni 20015 009 inlägg
Frågan#1

Hej

Kan man plocka ut allt i en sträng efter ett visst tecken?

Ex.
blubb|Weee

Så ska Weee retuneras. :)

Medlem sedan mars 2000263 inlägg
#2
$oldstring = "bohlin";
$char = "o";
$newstring = substr($oldstring, strpos($oldstring, $char)+1);
Medlem sedan juni 20015 009 inlägg
#3

Tack.
Kan man göra det samma men plocka ut allt framför tecknet?

Medlem sedan mars 2000263 inlägg
#4

jupp:

$oldstring = "bohlin";
$char = "o";
$newstring = substr($oldstring, 0, strpos($oldstring, $char));

med "blubb|Weee" blir det alltså:

$oldstring = "blubb|Weee";
$char = "|";
$first = substr($oldstring, 0, strpos($oldstring, $char));
$last = substr($oldstring, strpos($oldstring, $char)+1);

echo "Först: $first";
echo "Sist: $last";
Medlem sedan dec. 1999757 inlägg
#5

Egentligen returneras inte det som finns efter sista |-tecknet eftersom allt efter | returneras. Funkar i.of.s. nu när du endast har blubb|Weee men t.ex. inte med blubb|Weee|nytt

Kunde i min hast inte komma på något bra men en liten fullösning som fungerar.

$text = 'blubb|Weee';
echo preg_replace('/\|/', '', substr($text, (strrpos($text, '|'))));
Medlem sedan dec. 1999757 inlägg
#6

Här skrivs det snabbt :)
bohlins lösning med att returnera första delen blir nog alltid ok, jag syftade på föregående inlägg.

Medlem sedan juni 20015 009 inlägg
#7

Tack.
Strängen jag får innehåller alltid bara en | så jag behöver inte tänka på om det kommer flera. :)

Medlem sedan dec. 1999757 inlägg
#8

Det är alltid trevligt när man slipper tänka :)

124 ms totalt · 3 externa anrop · v20260731065814-full.02a0f7de
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)