Kom ihåg mig?
Home Menu

Menu


Behöver hjälp med enkel php.

 
Ämnesverktyg Visningsalternativ
Oläst 2016-10-20, 17:46 #1
xciso xciso är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 569
xciso xciso är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 569
Standard Behöver hjälp med enkel php.

Tja. Jag skulle behöva hjälp med ett enkelt php script.
Jag säger enkelt, för det är enkelt..för den som kan.

Jag vill få en funktion att om en specifik webbsida har bilden "red.jpg"
Så ska det stå på min webbsida "Röd"

Vill även få till samma sak fast att den specifika sida innehåller ordet "hello"
Så ska det då visas på min sida "Hej"

Någon som kan hjälpa en rookie?
xciso är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-10-20, 17:51 #2
Kays avatar
Kay Kay är inte uppkopplad
Medlem
 
Reg.datum: May 2004
Inlägg: 292
Kay Kay är inte uppkopplad
Medlem
Kays avatar
 
Reg.datum: May 2004
Inlägg: 292
Du kan använda cURL enligt svaret på:
http://stackoverflow.com/questions/9...-in-a-web-page

Copy, paste, ändra sträng och vad den ska spotta ut.
Kay är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-10-20, 19:47 #3
xciso xciso är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 569
xciso xciso är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 569
Citat:
Ursprungligen postat av Kay Visa inlägg
Du kan använda cURL enligt svaret på:
http://stackoverflow.com/questions/9...-in-a-web-page

Copy, paste, ändra sträng och vad den ska spotta ut.
Tack för snabbt svar.

jag har nu gjort så här:
Kod:
<?php
$ch = curl_init("http://www.skapamer.se/glitterfarger-6x45ml");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$text = curl_exec($ch);
$test1 = strpos($text, "1-3 vardagar");
$test2 = strpos($text, "slut hos lev");
if ($test1==true)
{
    echo "TEST 1";
}
else
{
	echo "" ;
}
if ($test2==true)
{
    echo "TEST 2";
}
else
{
	echo "" ;
}
?>
resultatet kan ni se här: http://www.bjarud.se/opencart2302/test.php

Kan jag göra det "snyggare" för else? Jag vill egentligen har flera if, men bara en else.
Som tex
If 1, echo 1
if 2, echo 2
else, inga nummer finns.

Hur gör jag det bäst?

Tanken är att jag ska ha detta för att se mina leverantörers produktsaldo.
xciso är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-10-20, 19:55 #4
Kruger Kruger är inte uppkopplad
Medlem
 
Reg.datum: Jul 2006
Inlägg: 237
Kruger Kruger är inte uppkopplad
Medlem
 
Reg.datum: Jul 2006
Inlägg: 237
Kod:
if ($test1){
    echo "TEST 1";
}
elseif($test2){
    echo "TEST 2";
}
else{
	echo "Error...";
}
Kruger är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-10-20, 20:27 #5
xciso xciso är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 569
xciso xciso är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 569
Tusen tack

Och nu en tilläggsfråga
Kod:
$text = curl_exec($ch);
$test1 = strpos($text, "1-3 vardagar");
Översta raden $text, betyder text just att det ska vara text? kan man byta detta till img tex?
Andra raden "$test1 = strpos($text", betyder "text" där att det ska vara just text?
xciso är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-10-21, 09:35 #6
SvanteH SvanteH är inte uppkopplad
Medlem
 
Reg.datum: Jan 2015
Inlägg: 118
SvanteH SvanteH är inte uppkopplad
Medlem
 
Reg.datum: Jan 2015
Inlägg: 118
Citat:
Ursprungligen postat av xciso Visa inlägg
Tusen tack

Och nu en tilläggsfråga
Kod:
$text = curl_exec($ch);
$test1 = strpos($text, "1-3 vardagar");
Översta raden $text, betyder text just att det ska vara text? kan man byta detta till img tex?
Andra raden "$test1 = strpos($text", betyder "text" där att det ska vara just text?
http://php.net/manual/en/function.strpos.php

strpos är en funktion där första parametern (i ditt fall $text) är var den kommer leta i. Den kommer i ditt fall leta i källkoden som curl_exec() gav dig. Andra parametern (i ditt fall "1-3 vardagar") är vad den kommer leta i $text efter.

Värt att nämna är att strpos svarar med ett nummer så Kruger's förslag kan ge felaktiga resultat. För att kolla om inget är hittat gör du genom !== som betyder "x är INTE* falskt" * och då det finns två == betyder det att det exakt matchas. Du behöver inte veta så djupt ännu men bra att veta.

Exempel med text och "bild". Nu söker den i källkoden efter bildens url

PHP-kod:
<?php

$ch 
curl_init("http://www.skapamer.se/glitterfarger-6x45ml");
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
$text curl_exec($ch);

$testBild strpos($text"http://cdn2.skapamer.se/img/10/8a/94/26/17x17/tillfalligt-slut-hos-leverantor-leveranstid-okand-leveranstid.gif");
$testText strpos($text"1-3 vardagar");

if (
$textText !== false) {
    echo 
"TEST 1";
}

if (
$test2 !== false) {
    echo 
"TEST 2";
}
SvanteH är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-10-21, 15:28 #7
balloumattias balloumattias är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2016
Inlägg: 16
balloumattias balloumattias är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2016
Inlägg: 16
Och ifall du inte har curl installerat på servern (vilket visserligen mer eller mindre är standard) kan du ersätta rad 2-4 med:
$text = file_get_contents("http://www.skapamer.se/glitterfarger-6x45ml");
balloumattias är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-10-21, 17:29 #8
xciso xciso är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 569
xciso xciso är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 569
Citat:
Ursprungligen postat av SvanteH Visa inlägg
http://php.net/manual/en/function.strpos.php

strpos är en funktion där första parametern (i ditt fall $text) är var den kommer leta i. Den kommer i ditt fall leta i källkoden som curl_exec() gav dig. Andra parametern (i ditt fall "1-3 vardagar") är vad den kommer leta i $text efter.

Värt att nämna är att strpos svarar med ett nummer så Kruger's förslag kan ge felaktiga resultat. För att kolla om inget är hittat gör du genom !== som betyder "x är INTE* falskt" * och då det finns två == betyder det att det exakt matchas. Du behöver inte veta så djupt ännu men bra att veta.

Exempel med text och "bild". Nu söker den i källkoden efter bildens url

PHP-kod:
<?php

$ch 
curl_init("http://www.skapamer.se/glitterfarger-6x45ml");
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
$text curl_exec($ch);

$testBild strpos($text"http://cdn2.skapamer.se/img/10/8a/94/26/17x17/tillfalligt-slut-hos-leverantor-leveranstid-okand-leveranstid.gif");
$testText strpos($text"1-3 vardagar");

if (
$textText !== false) {
    echo 
"TEST 1";
}

if (
$test2 !== false) {
    echo 
"TEST 2";
}
Tack för svar. men nu en motfråga. Det står "if ($textText !== false) {" borde det inte vara testText där?
xciso är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-10-21, 17:51 #9
xciso xciso är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 569
xciso xciso är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 569
Citat:
Ursprungligen postat av xciso Visa inlägg
Tack för svar. men nu en motfråga. Det står "if ($textText !== false) {" borde det inte vara testText där?
Uppar igen.
Kod:
($test1!==true) {
Om jag kör med ! tecken så visar den felaktigt.

Kör jag istället såhär
Kod:
($test1 ==true) {
så visas det rätt.
Varför?
xciso är inte uppkopplad   Svara med citatSvara med citat
Oläst 2016-10-23, 10:54 #10
Kimppas avatar
Kimppa Kimppa är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2010
Inlägg: 793
Kimppa Kimppa är inte uppkopplad
Mycket flitig postare
Kimppas avatar
 
Reg.datum: Jul 2010
Inlägg: 793
Citat:
Ursprungligen postat av xciso Visa inlägg
Uppar igen.
Kod:
($test1!==true) {
Om jag kör med ! tecken så visar den felaktigt.

Kör jag istället såhär
Kod:
($test1 ==true) {
så visas det rätt.
Varför?
Skriver du koden utan mellanslag eller är det bara ett exempel?

!== jämför om en variabel INTE är densamma som en annan variabel och av samma typ (dvs boolean, string eller int, m.m.). Någon får gärna bekräfta.

!= jämfor om en variabel INTE är densamma som en annan (oberoende av typ)

Kanske hjälper?
Kimppa är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 16:54.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017