Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  6 592
Sikkerhetsklarert
gir opp nå.

Har en varibel som inneholder f.eks "ord1 ord2 www.vg.no"

ord1 og ord2 er alltid like jeg vil strippe dem bort og kun sitte igjen med url.

Har brukt følgende kode, men det fungerer ikke, og returnerer kun "array unavailable"

Kode

<?
$msg= "TIL KODEORD www.url.no";
$urlarray=explode("TIL KODEORD", $msg);
$url=$urlarray['1']
echo $url;
?>
Legg til en semikolon på slutten av linjen over echo, og fjern quote rundt tall. $urlarray[1]; Da skal koden over fungere.

Når det er sagt er det vel enklere å fjerne teksten med str_replace.

Kode

<?php
echo str_replace('PATTERN', '',  'PATTERN www.vg.no');
?>
Sist endret av ma10as; 9. oktober 2008 kl. 20:48.
Siden "TIL KODEORD" er helt i starten av strengen, tror jeg at det ikke blir noen [1] i arrayet.

Hvis dette er tilfelle, quick og dirty fix:

$urlarray=explode("TIL KODEORD", 'h'.$msg);

Uansett er dette en tungvindt metode, regex er lettere og kraftigere. Google it.

Edit: Syntaksfeil? :P
Sist endret av Ozma; 9. oktober 2008 kl. 20:50.
Dette er tatt rett fra hodet så ingen garanti for syntax-feil, men:

Jeg tror du bruker explode() litt feil, og du trenger ikke quote nummeret på elementet i array'et du vil hente ut, da tror php sansynsligvis at det er noe annet du ser etter (annen type array, f.eks array("name" => "value");. Du får array av typen array(0 => "element0", 1 => "element1"); når du bruker explode().

$msg = "TIL KODEORD www.url.no";
$urlarray = explode(" ", $msg);
echo $url[0];

explode() tar 1'e argument som separator (dvs. space i dette tilfellet), og andre argument som input-string, og hvis du vil accesse en bit i et array, bruk $array[0] (vi starter alltid på null )

http://php.net/explode

tips: bruk print_r($some_array); så får du en full oversikt over hva array'et inneholder og hvordan det er strukturert.
Trigonoceps occipita
vidarlo's Avatar
Donor
Regexp?
http://(.*)\..{3} burde kunne finne dei fleste URLer rimelig greit, og det er langt meir elegant løsning.
Eg suger på regexp, men sjekk ut denne sida, som ser ut til å ha rimelig greit regexp uttrykk for å matche URLer.

Sjekk wikipedia på regexp eller svi av en femtilapp på Regexp pocket reference
Sist endret av vidarlo; 9. oktober 2008 kl. 20:55.
$msg = "TIL KODEORD www.url.no";
$urlarray = explode(" ", $msg);
$output = array_pop($urlarray);
echo $output;

det gir deg det det siste ordet i $msg separert med mellomrom.
Sist endret av nilsel; 9. oktober 2008 kl. 21:04.
Sikkerhetsklarert
Trådstarter
Quick`n Dirty så fungerer løsningen din nilsel.
Regexp er nok en mer elegant løsning ja, men dette er kun et lite prosjekt jeg leker med nå.

Skal kunne sende en sms til et kortnummer med et gitt kodeord, sms vil så behandles av dette php scriptet, og trekke ut url for videre bruk. Om noen skulle skrive sms "TIL KODEORD http://www.vg.no hei" så er det hei jeg henter ut som siste ord, og da for bruker feil resultat.