Gå til innhold

Skript som deler en string ved gitt string


Anbefalte innlegg

Er det noen som kan hjelpe meg med å finne (eventuelt lage) et skript som tar en string og deler denne ved en gitt string i en annen string. Klarer ikke å finne en "native" funksjon som hjelper meg med å gjøre det jeg ønsker.

 

Eksempel på hva jeg vil ha:

String1 = "Jeg har en rød bil"

String2 = "har "

String3 = ""

 

String3 = delString(String1, String2)

 

String3 er nå "en rød bil"

 

 

 

Er ikke så dreven i PHP så det hadde vært fint hvis noen kunne ha hjulpet meg. :)

Lenke til kommentar
Videoannonse
Annonse

Dette er utrolig enkelt egentlig. Du bruker bare php funksjonen explode.

 

Eksempel til dette sånn at du får akkurat den verdien du vil ha.

 

<?php

// Variablene
$var1 = "Jeg har en rød bil";
$var2 = "har";

// Her "eksploderer" vi $var1 mellom $var2 
$var3 = explode($var2,$var1);
/* Dette etterlater oss da med følgende:
Array
(
[0] => Jeg 
[1] =>  en rød bil
)
*/

// Da tar vi rett og slett og bruker $var[3].
// Men for at vi skal slippe det ekstra mellomrommet så bruker vi
// substr( $string , 1 );

$var3 = substr($var3[1],1);

echo $var3; // Output: en rød bil

?>

 

--------------------------------------

Korte versionen uten comments:

<?php
$var1 = "Jeg har en rød bil";
$var2 = "har";
$var3 = substr(explode($var2,$var1),1);

echo $var3;
?>

Lenke til kommentar

Det spørs jo litt hva alternative strenger inneholder, men skulle et slikt scenario inntreffe vil jo ingen av de løsningene over fungere. Denne vil nok isåfall fungere atskillig bedre:

$string1 = "Det er jeg som har den røde bilen jeg har";
$string2 = "jeg ";
$string3 = substr(strstr($string1, $string2), strlen($string2));

Kort fortalt tar den $string1, fjerner alt før første tilfellet av $string2 (som er hva strstr gjør), og henter så fra og med tegnet etter $string2 og ut (strlen + substr).

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...