Avatar billede Slettet bruger
14. maj 2004 - 19:46 Der er 19 kommentarer og
1 løsning

Split variabel

Hejsa eksperter.
Jeg har flg variabel som udfyldes statisk dvs den ik ser sådan ud hver gang

$min_var = "/test test1 Hej jeg hedder Martin og jeg er fra Horsens";

Hvordan kan jeg gøre sådan at det bliver splittet op i flg:

$var1 = /test
$var2 = test1
$var3 = Hej jeg hedder Martin og jeg er fra Horsens

Kunne forestille mig der er noget med if ergi... osv?
nogen der kan hjælpe?
Avatar billede olebole Juniormester
14. maj 2004 - 19:53 #1
<ole>

Det kommer helt anpå, hvad der ikke er dynamisk i variablen - og det ved vi jo ikke  :)

/mvh
</bole>
Avatar billede Slettet bruger
14. maj 2004 - 19:54 #2
hehe min fejl :)
det er "Hej jeg hedder Martin og jeg er fra Horsens" der er det :)
Avatar billede olebole Juniormester
14. maj 2004 - 19:54 #3
... der skal være et fast mønster, før variablen kan splittes op. Det mønster må vi kende
Avatar billede Slettet bruger
14. maj 2004 - 19:57 #4
hvis du mener sådan her

$min_var = "/test (split) test1 (split) Hej jeg hedder Martin og jeg er fra Horsens";
Avatar billede olebole Juniormester
14. maj 2004 - 19:59 #5
Det kunne skrives som:

$aVar = explode(" Hej jeg hedder Martin og jeg er fra Horsens", $min_var);
$aVar2 = explode(" ", $aVar[0]);
$var1 = $aVar2[0];
$var2 = $aVar2[1];

$var3 = den kender du jo  :)
Avatar billede Slettet bruger
14. maj 2004 - 20:00 #6
ja men vil den ikke splitte op efter hvert mellemrum så?
Avatar billede olebole Juniormester
14. maj 2004 - 20:02 #7
try - don't ask  :)
Avatar billede Slettet bruger
14. maj 2004 - 20:07 #8
scrip: http://dooh.dk/test.php
kode:
<?
$aVar = explode(" Hej jeg hedder Martin og jeg er fra Horsens", $min_var);
$aVar2 = explode(" ", $aVar[0]);
$var1 = $aVar2[0];
$var2 = $aVar2[1];
$var3 = $aVar2[2];
echo"var1= $aVar2[0]";
echo"var2= $aVar2[1]";
echo"var3= $aVar2[2]";
?>
måske mig der har forklaret mig forkert.
1: den skal splitte op efter /test og det skal laves til en variabel altså så den indeholder /test
2: den skal splitte op efter test1 og laves til en variabel der så indeholder test1
3: den skal splitte op efter test1 og laves til en variabel der så indeholder Hej jeg hedder Martin og jeg er fra Horsens
Avatar billede olebole Juniormester
14. maj 2004 - 20:18 #9
*LooL* hvor blev din variabel af? Mon ikke den første linie burde være:
  $min_var = "/test test1 Hej jeg hedder Martin og jeg er fra Horsens";
;o)
Avatar billede olebole Juniormester
14. maj 2004 - 20:20 #10
... og var3 er jo den streng, du splitter med: 'Hej jeg hedder Martin og jeg er fra Horsens'  :)
Avatar billede Slettet bruger
14. maj 2004 - 20:21 #11
måske mig der ikke forstår ret meget idag :) men nu er koden sådan her men returnere stadig intet?

<?
$min_var = "/test test1 Hej jeg hedder Martin og jeg er fra Horsens";
$aVar = explode(" Hej jeg hedder Martin og jeg er fra Horsens", $min_var);
$aVar2 = explode(" ", $aVar[0]);
$var1 = $aVar2[0];
$var2 = $aVar2[1];
$var3 = $aVar2[2];
echo"var1= $var1";
echo"var2= $var2";
echo"var3= $var3";
?>
Avatar billede olebole Juniormester
14. maj 2004 - 20:30 #12
Der her funker da fint ... og du _har_ jo allerede defineret var3:

<?
$min_var = "/test test1 Hej jeg hedder Martin og jeg er fra Horsens";
$aVar = explode(" Hej jeg hedder Martin og jeg er fra Horsens", $min_var);
$aVar2 = explode(" ", $aVar[0]);
$var1 = $aVar2[0];
$var2 = $aVar2[1];
echo "var1= ".$var1;
echo "var2= ".$var2;
?>
Avatar billede Slettet bruger
14. maj 2004 - 20:38 #13
spørger dumt nu... men hvilket VAR indeholder Hej jeg hedder Martin og jeg er fra Horsens ?
Avatar billede olebole Juniormester
14. maj 2004 - 20:50 #14
Den kan du vel selv skrive, hvis det altså passer, at den streng ikke er dynamisk. Ellers kan du også skrive dette, hvis du har lettere ved at forstå det:

<?
$min_var = "/test test1 Hej jeg hedder Martin og jeg er fra Horsens";

preg_match_all( "/([^\s]*) ([^\s]*) ([\w\W]*)/", $min_var, $aVar );

$var1 = $aVar[1][0];
$var2 = $aVar[2][0];
$var3 = $aVar[3][0];

print $var1."<br>\n";
print $var2."<br>\n";
print $var3;
?>
Avatar billede olebole Juniormester
14. maj 2004 - 20:53 #15
Eller simplere endnu:

<?
$min_var = "/test test1 Hej jeg hedder Martin og jeg er fra Horsens";

preg_match( "/([^\s]*) ([^\s]*) ([\w\W]*)/", $min_var, $aVar );

$var1 = $aVar[1];
$var2 = $aVar[2];
$var3 = $aVar[3];

print $var1."<br>\n";
print $var2."<br>\n";
print $var3;
?>
Avatar billede Slettet bruger
14. maj 2004 - 20:56 #16
olebole
du er for sej :) hehe og btw fed skelet til en chat du har lavet.
kan man få et svar?
Avatar billede olebole Juniormester
14. maj 2004 - 21:17 #17
Tak  :)
Avatar billede Slettet bruger
14. maj 2004 - 22:11 #18
lige et hurtigt tillægs spm hvis det er ok?

kode:
if (preg_match( "/([^\s]*) ([^\s]*) ([\w\W]*)/", $msg, $aVar) =="/me" )
{
udfør her hvis der skrives /me i starten
}
burde det ik virke?
Avatar billede Slettet bruger
14. maj 2004 - 22:48 #19
burde nok være et nyt spm
lukker her og opretter et andet spm
Avatar billede olebole Juniormester
14. maj 2004 - 22:50 #20
Jo, det skulle meget gerne virke  :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester