webForumDet fria alternativet

Plocka ut

7 svar · 411 visningar · startad av Qimen

QimenMedlem sedan juni 20013 568 inlägg
#1

Hej

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

Ex.
blubb|Weee

Så ska Weee retuneras. :)

bohlinMedlem sedan mars 2000264 inlägg
#2
$oldstring = "bohlin";
$char = "o";
$newstring = substr($oldstring, strpos($oldstring, $char)+1);
QimenMedlem sedan juni 20013 568 inlägg
#3

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

bohlinMedlem sedan mars 2000264 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";
kjellMedlem sedan dec. 1999519 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, '|'))));
kjellMedlem sedan dec. 1999519 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.

QimenMedlem sedan juni 20013 568 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. :)

kjellMedlem sedan dec. 1999519 inlägg
#8

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

Genererad på 370 ms · cache AV · v20260730165559-full.f96bc7eb