tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
440
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    kasiopaia kasiopaia ist offline Rookie
    Registriert seit
    Apr 2004
    Beiträge
    5
    Hallo,

    ich habe die Sucxhfunktions seit gestern insgesamt gut 6 Stunden malträtiert und find eirgendwie nciht was ich brauche, oder ich habe einfach aufgrund der ganzen Fachausdrücke nicht bemerkt das richtige gefunden zu haben.

    Es geht um Folgendes:

    Ich arbeite an einem Forum mit welches mit PragmaMX und MX-Board als Forensystem arbeitet.

    Dort ist es jedoch so, das wenn ich einen Link sagen z.B. zu Ebay setze der so aussieht:

    Code :
    1
    
    http://cgi.ebay.de/BMW-Motorradjacke-Modell-3-Phasen-Groesse-56-NP-519_W0QQitemZ320342291229QQcmdZViewItemQQptZHerrenbekleidung?hash=item320342291229&_trksid=p3286.c0.m14&_trkparms=72%3A1683%7C66%3A2%7C65%3A12%7C39%3A1%7C240%3A1309

    dieser eben auch so im Forum steht was extrem dämlich aussieht!

    Lieber hätte ich, dass das Ergebnis gleich mittels PHP-Code den header der Zielseite russucht und diesen dann mittels BB-Code direkt den Link maskiert, also so:

    BMW Motorradjacke Modell 3 Phasen Größe 56 NP 519,-- € - ebay.de - Herrenbekleidung

    Ich habe schon in vielen Boards (vorallem VB3) gesehend as es diese Funktion definitiv gibt und man diese eigentlich irgendwie übernehmen können müsste.

    Die Lizens von VB3 ist jedoch erheblich zu teuer für unsere kleine Community und ich bin auch nicht der Seiteninhaber, sondern Primär für die Contentseite zuständig sowie für theme-Erstellung, also muss ich wenn ich eine nützliche neuerung haben will andere lösungen finden.

    Der einzige Thread de rin fRage käme ist dieser hier:

    Links automatisch ersetzen und Header auslesen - PHP @ tutorials ...

    Nur habe ich keine Ahnung in welche dateien udn an welche stelle ich die Forenspezifischen PHP-Dateien damit erweitern/verändern muss.

    Daher habe ich mir an dieser Stelle freundliche Hilfe erwünscht, in der Hoffnung diese zu erhalten.

    Sollte dieses Thema doch irgendwo schon existieren so sei man mir bitte nicht böse und packe einfach den entsprechenden Verweis hier in das Thema, das wäre net, dankeschön

    Mit freundlcihen Grüßen

    Chris
     

  2. #2
    Avatar von TheBodo
    TheBodo TheBodo ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Ort
    Braunschweig
    Beiträge
    157
    Hi kasiopaia.

    du solltest dir mal das angucken:

    http://www.selfphp.de/funktionsrefer...et_headers.php

    und natürlich das:

    http://www.selfphp.de/funktionsrefer...posix/ereg.php

    Als RegEx kommt für dich etwa folgendes in Frage:

    Code :
    1
    
    http:\/\/(*.)\.(+.)\.(*?)

    So ungefähr müsste das klappen, aber bitte nochmal nachgucken, ich hab die lange nichmehr benutzt!

    Hoffe damit kommst du weiter
     

  3. #3
    kasiopaia kasiopaia ist offline Rookie
    Registriert seit
    Apr 2004
    Beiträge
    5
    ui shcnelle antwort, leider verstehe weitgehend bahnhof wenn ich was von RegEx etc. lesen, wie gesagt bin da ziemlicher laie!

    um das ganze einfacher zu gestalten kann ich gerne die php-dateien in eienzip o.ä. packen und von meinem server (nicht der des boardinhabers) zum downlaod freistellen?

    dann wüsste ich ggf wo ich was einfügen müsste :-/
     

  4. #4
    Avatar von SCIPIO-AEMILIANUS
    SCIPIO-AEMILIANUS SCIPIO-AEMILIANUS ist offline aka DonMahallem
    Registriert seit
    Mar 2007
    Ort
    Saxonburg(Pa)
    Beiträge
    375
    Also wenn euer Server es erlaubt, dann könnteste über fopen(Addresse,r) die Addresse öffnen, und dann in dieser nach dem tag <title> und </title> suchen lassen, und den dazwischen stehenden Text dann als Titel ausgeben lassen.
     
    MFG Scipio
    Ein Danke für hilfreiche Antworten ist gern gesehen.

  5. #5
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Da du Laie bist, stelle ich hier einfach mal etwas rein, über Google gefunden mit: "php read title from website"

    PHP-Code:
    <?php
    /**
     * URL title looker-upper.
     *
     * This code will grab a chunk of data from a URL, look at the <title>
     * and display an <a href> tag using the URL's current title.
     *
     * It is a neat way to always have your links use the most current page
     * title of the pages you link to, although it can really slow the loading
     * of *your* pages down if you link to slow/unavailable sites.
     *
     * @authour Scott Hurring (scott at hurring dot com)
     * @version 0.2 (Dec 23, 2005) Merry christmas!
     * http://hurring.com/code/php/url_title/
     * @license GPL
     */

    // Your site's domain, used if you give a url that's located
    // on the current server: like "/code/index.php"
    $url_site_domain 'hurring.com';

    /*
    function url()

    $link        the URL whose title you want to fetch
    $text        optional text to append to the page title
    */
    function url($link$text='')
    {
        
    // Ensure $link is a valid URL        
        
    $url url_resolve($link);
        
        
    $fp = @fopen($url'r');
        if (!
    $fp) {
            
    $title = (!$text $link $text);
            return 
    "(Broken Link: $link". ($text ": {$text}"") .")";
        }

        
    // Grab <title>*</title> from the first "chunk" of data
        
    $title url_grab_title($fp);

        
    // No <title> tag in first chunk...    
        
    if (!$title) {
            
    $title = (!$text $link $text);
            return 
    "<a href='$url'>$title</a>";
        }

        
    // User gave me some text to append to the link title
        
    if ($text) {    
            
    $title .= ': '$text;
        }
        
        return 
    "<a href='$url'>$title</a>";
    }

    /*
    Attempt to turn a partial URL (e.g. "server.com" or "/code/")
    into a valid URL (e.g. "http://server.com/" or "http://server.com/code/")
    */
    function url_resolve($url)
    {
        global 
    $url_site_domain;
        
        if (!
    preg_match('/^(http|ftp):/'$url)) {
            
    // assume it's not "server.tld" and instead "/dir/file.ext"
            
    if (!preg_match('/\.(com|net|org|co|uk|edu|info|biz)/'$url)) {
                
    $url $url_site_domain .'/'$url;    
            }
        }
        return 
    'http://'preg_replace('/\/\//''/'$url);
    }

    // Fetch a "chunk" of data and look for <title> in it
    function url_grab_title($fp)
    {
        
    // How many bytes to grab in one chunk.
        // Most sites seem to have <title> within 512
        
    $chunk_size 512;

        
    $chunk fread($fp$chunk_size);
        
    $chunk preg_replace("/(\n|\r)/"''$chunk);

        
    // Look for <title>(.*?)</title> in the text
        
    if (preg_match('/<title>(.*?)<\/title>/i'$chunk$matches)) {
            return 
    $matches[1];
        }

        return 
    null;
    }

    // Run this to test the code    
    function url_test()
    {
        print 
    url('hurring.com') ."\n";
        
    // <a href='http://hurring.com'>Hurring.com</a>
        
    print url('google.com') ."\n";
        
    // <a href='http://google.com'>Google</a>
        
    print url('hurring.com''Append me') ."\n";
        
    // <a href='http://hurring.com'>Hurring.com: Append me</a>
        
    print url('/code/php/') ."\n";
        
    // <a href='http://hurring.com/code/php/'>Hurring.com: Code: PHP</a>
        
    print url('/code/php/'"Append me") ."\n";
        
    // <a href='http://hurring.com/code/php/'>Hurring.com: Code: PHP: Append me</a>
        
    print url('groups.yahoo.com/groups/alhkjter/') ."\n";
        
    // <a href='http://groups.yahoo.com/groups/alhkjter/'>groups.yahoo.com/groups/alhkjter/</a>
        
    print url('groups.yahoo.com/groups/alhkjter/''Pirates') ."\n";
        
    // <a href='http://groups.yahoo.com/groups/alhkjter/'>Pirates</a>
        
    print url('garbage') ."\n";
        
    // (Broken Link: garbage)
        
    print url('garbage''Pirates') ."\n";
        
    // (Broken Link: garbage: Pirates)
    }

    url_test();
    ?>
    http://hurring.com/scott/code/php/url_title/

    Die letzte definierte Version url_test() dient wie der Name bereits sagt, wirklich nur als Test.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  6. #6
    Avatar von TheBodo
    TheBodo TheBodo ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Ort
    Braunschweig
    Beiträge
    157
    PHP-Code:
    function niceLink($url) {
    $metaTags get_meta_tags $url );
    return 
    "<a href=\"$url\">$metaTags['keywords']</a>";
    }

    $reqs;
    ereg("http://(.*)ebay(.*)"$string, &$reqs);
    ereg_replace($reqs[0], niceLink($reqs[0]), $string); 
    So kannst das probieren, aber besonders bei der RegEx keine Garantie, funktionier übrigens nur mit Ebay-Links, weil da bei den keywords der Titel nochmal drinne steht .
     

  7. #7
    kasiopaia kasiopaia ist offline Rookie
    Registriert seit
    Apr 2004
    Beiträge
    5
    Danke schon mal an alle.

    Geht nciht nur um Ebay, geht allgemein um links
     

  8. #8
    Avatar von TheBodo
    TheBodo TheBodo ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Ort
    Braunschweig
    Beiträge
    157
    Das war mir klar, nur bei ebay geht es Zufällig per getMetaTags()-Funktion, das allgemeingültige steht da oben ja auch schon!!
     

Ähnliche Themen

  1. Hilfe Benötigt
    Von APoCx im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 10.11.08, 22:01
  2. Hilfe benötigt!
    Von keksmonster im Forum Java
    Antworten: 5
    Letzter Beitrag: 30.12.06, 14:56
  3. Hilfe benötigt!
    Von qemamkeku im Forum Typografie
    Antworten: 3
    Letzter Beitrag: 07.07.04, 13:49
  4. Hilfe Benötigt !
    Von GhostGhost im Forum Netzwerke
    Antworten: 4
    Letzter Beitrag: 24.04.04, 22:37
  5. Hilfe benötigt
    Von lash im Forum Cinema 4D
    Antworten: 1
    Letzter Beitrag: 23.02.04, 20:54