webForumDet fria alternativet

Visa länk OM resultat finns? (extern sida)

PHP

5 svar · 616 visningar · startad av Guldstrand

Medlem sedan juli 20041 271 inlägg
Frågan#1

Vilket är det mest optimala sättet att endast visa en extern länk OM det finns resultat?

En länk kan se ut enligt följande:

http://www.cdon.se/search?q=SÖKORD

"Sökord" kan vara en titel eller ett namn som hämtas från mysql.

Medlem sedan juli 20041 271 inlägg
#2

*bumpellibump* :r

Medlem sedan feb. 20001 050 inlägg
#3

Intressant problem, men jag tror inte att det finns något "superenkelt" sätt att lösa det på.

Gissningvis är det enklast att göra ett script som du kör en gång om dagen där du går igenom alla söksvar från CDON för vart och ett av dina sökord i databasen och ser om CDON returnerar några sökresultat. CDON tar väl sällan bort en artist, gissar jag, så om den en gång har visat en träff för ett sökord så kommer den troligen att göra det även i framtiden, så du behöver ju inte fråga igen så ofta. Att skriva scriptet om avgör om CDON visar någora sökresultat eller inte så ju dock lite trixigt, men kan säkert göras ganska enkelt med ett fopen-anrop och en preg_match för att se om "inga träffar"-texten visas eller inte.

Medlem sedan juli 20041 271 inlägg
#4

nicclas skrev:

Att skriva scriptet om avgör om CDON visar någora sökresultat eller inte så ju dock lite trixigt, men kan säkert göras ganska enkelt med ett fopen-anrop och en preg_match för att se om "inga träffar"-texten visas eller inte.

Precis! Det var SÅ jag tänkte.

Svaret man får från cdon.se, när det inte finns några resultat.

Din sökning gav 0 träffar

Medlem sedan juli 20041 271 inlägg
#5

Någon som har något förslag?

Medlem sedan sep. 200913 inlägg
#6

Hoppas jag inte är alldeles för sent ute. Detta är en ganska enkel kod. Följande borde göra tricket:

<?php
$sokord = "Whatever"; 
$url = "http://cdon.se/search?q={$sokord}";
$str = file_get_contents($url);

$matchSearch = preg_match("/Din([^<]*)gav 0/", $str, $regs);

$result = strval($regs[0]);

if(isset($result) && $result != ""){
	echo "Ingen träff";
} else {
	echo "Träff!";
}
?>
249 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)