Page 1 of 1

[Snippet] GeoCache ID Link as Website Title (de) (update)

PostPosted: Wed 24. Feb 2010, 04:32
by 4seven
GeoCache ID Link as Website Title

Request by Coren

Mit diesem Snippet könnt ihr eine GeoCache ID in das Post einfügen, der automatisch den betreffenden Link erzeugt und diesen als Title der betreffenden Website anzeigt.

Beispiel

Diese GeoCache ID..
Code: Select all
[cache]GC1GB2F[/cache]


ergibt dann..
GC1GB2F Schicksale der Wissenschaft - Mathematischer2Kampf (Mystery/Puzzle Cache) in Berlin, Germany created by sk81

Screen: http://4seven.bplaced.net/pix/cache_1.png

Bedingung: allow_url_fopen muss aktiviert sein



Anleitung:

1. Erstelle eine BBCode

BBCode
Code: Select all
[cache]{IDENTIFIER}[/cache]


Html Ersetzung
Code: Select all
{IDENTIFIER}


2. Öffne

viewtopic.php

Finde

Code: Select all
// Output the posts
$first_unread = $post_unread = false;
for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
{


Davor füge ein

Code: Select all
// GeoCache ID Link as Website Title / 4seven / 2009
function getTitleTag($uwebsite) {   
   $uhtml = implode("", file(html_entity_decode($uwebsite)));
   if (preg_match("/<title>(.*)<\/title>/isU", $uhtml, $utitle)){
   $utitletag = trim($utitle[1]);
   return '<a href="' . $uwebsite . '">' . $utitletag . '</a>';}}
// GeoCache ID Link as Website Title / 4seven / 2009


Finde

Code: Select all
$message = censor_text($row['post_text']);


Dahinter füge ein UPDATE

Code: Select all
// GeoCache ID Link as Website Title / 4seven / 2009
if((preg_match("#\[cache:#", $message)) && preg_match("#\[\/cache:#", $message)){
$message = preg_replace("/\[cache:(.*?)\](.*?)\[\/cache:(.*?)\]/eU",   'getTitleTag("http://www.geocaching.com/seek/cache_details.aspx?wp=\\2")', $message);}
// GeoCache ID Link as Website Title / 4seven / 2009


3. Alle Caches leeren

Re: [Snippet] GeoCache ID Link as Website Title (de) (update)

PostPosted: Wed 24. Feb 2010, 04:37
by 4seven
UPDATE ist rot gefärbt