Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: preg_match disperato

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    12

    preg_match disperato

    Ciao a tutti, premetto che mi sono trovato invischiato in php per puro caso...
    gestisco alcuni friend adder per Myspace che ultimamente mi fa dannare non poco.
    I miei utenti entrano nei miei siti con il proprio ID di Myspace, il login fa un preg_mach che verifica l'ID e la foto del profilo e li fa entrare, tutto ok se non fosse che...al momento Myspace ha tre diversi tipi di profilo e così il mio preg già doppio va a farsi benedire.
    Qualcuno conosce un modo per aggirare l'ostacolo?
    Io e gli altri amministratori di adder ci stiamo impazzendo da una settimana con ben pochi risultati
    Grazie

  2. #2
    Se non fornisci maggiori dettagli, è improbabile che qualcuno ti possa aiutare.

    Posta i dati in input, quello che vuoi ottenere in output ed il codice che stai utilizzando attualmente.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    12
    Grazie! Come ho detto non sono molto pratico...
    Dunque, in pratica ciò che mi è necessario ottenere sono ID e Picture
    L'id è ok, le immagini sono:
    ctl00_cpMain_ctl01_UserBasicInformation1_hlDefault Image
    ctl00_cpMain_ctl02_UserBasicInformation1_hlDefault Image
    e un <div photo, novità degli ultimi giorni
    Questo è il codice che stiamo utilizzando, è per updatare la foto degli utenti ma è la stessa cosa che si fa per il login.
    Spero di essere stato un po meno confusionario...


    <?php
    session_start();
    include 'config.php';

    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");

    $fid = $_SESSION['fid'];
    define ("profile_url","http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendID=" );
    $full_file_path = profile_url.$fid;
    $handle = fopen($full_file_path,"r");
    if (!$handle){
    echo "

    Sorry Myspace Is Slow Try Again.\n";
    $arr = 0; }
    else {
    $timeout = 300;
    ini_set('max_execution_time','120');
    set_time_limit(120);
    ini_set('default_socket_timeout','120');
    while($contents = fread($handle,'1024'))
    { $hold .= $contents; }
    preg_match("/<a id=\"ctl00_cpMain_ctl01_UserBasicInformation1_hlDe faultImage\" rel=\"searchMonkey-photo\" href=\"http:\/\/viewmorepics.myspace.com\/index\.cfm\?fuseaction=user\..*?friendID=$fid\">.* ?<\s*img [^\>]*src=\"([^\">]+)/is",$hold,$match);



    $hold=eregi_replace("<img class=\"photo \" alt=\"Photo\" src=\"","<img border=\"0\" alt=\"\" src=\"",$hold);
    $photourl=explode("<img border=\"0\" alt=\"\" src=\"",$hold);$photourl=explode("\"",$photourl[1]);$photourl=$photourl[0];
    if(eregi("ctl00_cpMain_ctl02_UserBasicInformation1 _hlDefaultImage",$hold)) {$photourl=explode("ctl00_cpMain_ctl02_UserBasicIn formation1_hlDefaultImage",$hold);$photourl=explod e("\"",$photourl[1]);$photourl=$photourl[6];}

    preg_match("/<span class=\"nametext\">(.*)<br \/>/",$hold,$match);
    $name = $match[1];


    if(empty($name))
    {
    preg_match("/<span class=\"nametext\">(.*)<\/span>/",$hold,$match);
    $name = $match[1];
    }


    fclose($handle);
    ini_restore('max_execution_time');
    ini_restore('default_socket_timeout');
    $pic = $photourl;
    $ip = $_SERVER['REMOTE_ADDR'];
    mysql_query("UPDATE xtrm_users SET
    name='$name',
    pic='$pic',
    ip='$ip' WHERE
    fid='$fid'");

    header("location:home.php");


    }
    ?>

  4. #4
    Originariamente inviato da filippo.toso
    Posta i dati in input, quello che vuoi ottenere in output ed il codice che stai utilizzando attualmente.
    Non obbligare le persone a cui chiedi aiuto di fare il reverse engineering del tuo codice.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    12
    Originariamente inviato da filippo.toso
    Non obbligare le persone a cui chiedi aiuto di fare il reverse engineering del tuo codice.
    se sapessi cosa vuol dire...

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    12
    Ok, mettiamola in modo diverso...
    Qualcuno e' interessato a lavorare su questo problema ovviamente dietro compenso?
    Grazie

  7. #7
    Quoto in pieno Filippo perché, a prescindere dal compenso o meno.... non ho capito cosa devi fare con questo codice!
    Estrarre l'indirizzo della foto principale del MySpace relativo ad ognuno???

    Una volta assodato questo, cos aintendi con:
    ok se non fosse che...al momento Myspace ha tre diversi tipi di profilo
    Come ti ha già chiesto Filippo, se non segnali le tre diverse stringhe che myspace utilizza e non ci fai capire cosa vuoi estrarre da queste stringhe.... beh... devi sborsare un bel po' di soldi per un aiuto! (scherzo naturalmente)

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    12
    Ok, ci provo... come premesso non ne capisco un'h o perlomeno quel poco che ho imparato è veramente il minimo.
    Dunque, Myspace ha tre modi diversi, non si sa perchè e che cambiano spesso, di "assegnare" se così posso dire ID e foto sulla pagina utente: questi tre metodi, al momento sono:
    ctl00_cpMain_ctl01_UserBasicInformation1_hlDefault Image
    ctl00_cpMain_ctl02_UserBasicInformation1_hlDefault Image
    img class photo alt= Photo

    Al momento dell'inserimento dell'id sul mio sito il mio login matcha con ID e foto utente e se tutto è ok lo fa entrare, altrimenti lo sputa via.

    Il nostro problema è che siamo sempre a rincorrere i cambiamenti di Myspace, ad esempio, il codice che ho postato ha funzionato dalle 11 del mattino alle 5 del pomeriggio a ci avevamo messo 2 giorni a farlo funzionare. Quello che mi piacerebbe ottenere è qualcosa tipo (lo so che sto per dire una castroneria ma magari è possibile) un match che freghi i cambiamenti di Myspace. Nel senso, id e foto sono sempre li allo stesso posto, quindi perchè non inventare qualcosa che controlli tutto comunque ed estragga solo queste due cose?
    Perdonatemi ma sono già abbastanza confusionario di mio, spiegare cose che non so rende tutto più difficile...

  9. #9
    Posta 3 estratti di codice HTML, così come vengono restituiti da MySpace, e per ognuno di essi indica le informazioni che vuoi estrarre.

    Le espressioni regolari sono flessibili fino ad un certo punto. Per fare quello che chiedi, forse è meglio un parser XML/XPath oppure l'utilizzo di DOM.

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    12
    Ti ringrazio Filippo per le risposte, purtroppo però per capire cosa scrivi mi servirebbero un traduttore e una carriola di aspirine....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.