Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 31

Discussione: tag a

  1. #21
    non capisco perchè andate a fare i controlli se il contenuto dell'href sia o meno un url...

    Il problema del 3d era di estrarre i contenuti dell'href.. con la mia funzione (che ho postato nella 1a pagina) escono come l'utente voleva

    Tra l'altro, certe soluzioni, prevedono che i link siano così:

    <a href="prova.php">

    ma se fossero

    <a href="prova.php" onclick="kaal()">

    Andrebbero nel pallone, proprio perchè viene cercato ">

    vi riposto la mia soluzione ^^

    Codice PHP:
    function extractLinksREG($testo)
    {
        
    $pattern "!href=\"(.*)\"!Ue";
        
    preg_match_all($pattern,$testo,$matches,PREG_PATTERN_ORDER);
        return 
    $matches[1];

    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  2. #22
    Lo so, leggere i thread della discussione è seccante, però sarebbe una buona cosa
    http://forum.html.it/forum/showthrea...1#post11992671

    poi, personalmente parlando, la mia preg estrae tranquillamente gli href se c'è altra roba nel tag, ma l'ho detto l'unico dubbio che c'ho, e che non ho provato, sono link senza apici con o senza altra roba che segue il link
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #23
    non mi riferivo a te, in quanto abbiamo postato a distanza di 2 secondi e l'ho letta dopo la tua soluzione...

    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  4. #24
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    34
    Questo thread si sta snaturando, anzi era già snaturato prima del mio precedente post, solo che non ci avevo fatto caso.

    caniggia dice bene:
    Forse se avreste impiegato il tempo per aiutarmi avrei già risolto, sento che sono ad un passo ma in realtà ancora non va. Se volete fare polemiche createvi una discussione.
    Sinceramente si potrebbe discutere della performance, della pulizia e della stabilità delle varie soluzioni proposte. In questo senso io avrei da dire la mia ma non è questo il fine. Mi sembra fin troppo ovvio che ciascuno difenda la sua e spero che si risolva 'naturalmente': come un aiuto a chi l'ha chiesto e nient'altro.

  5. #25
    se il richiedente si prende la "briga" di leggere le soluzioni, troverà di certo la soluzione alla sua esigenza...
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  6. #26
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    mah alla fine vedo molte soluzioni etc.

    Ho fatto tempo solo ora a leggere( ero in giro sti gg) .

    Cmq alla fine mi sembra di capire qlune cose 1 si volevano estrarre i link della pagina con un preg_macth e possibilmente recuperare solo i link interni hoh cioie' quelli che puntano a http:// ..

    Io ho postato la mia idea di soluzione con codice php. Inoltre ho fornito anche il vodice base per un tester di performace .... e chiedo scusa se sono andato OT.

    Alla fine pero' mi pare di capire che nn ci siamo ancora.... a sto punto mi sa che potrebbe procere cosi':

    Usare la funzione di estrazione link( regexp o oxplode a scelta.)
    Si leggono i link estratti e se il link possiede http:// lo si scarta con una scansione in tempo lineare dell'array restituito dalla funzione di ricerca link.
    Mi pare una sol fattibile e anche di veloce implementazione visto che il controllo consisterebbe in 2 righe di codice.

    Cmq alla fine vedete voi.


    EDIT:
    Daniele ho provato il codice da te postato .....
    Mi da questo ris :
    Uri l (http://www.phpsoft.it/rss.xml ) is internal
    ??????

    Mah. Ho sbagliato qlkosa? Ho modificato un ' perchè sennò mi dava parse error
    e il primo if e' diventato :
    Codice PHP:
    if ( preg_match_all('#<a.*?href=("|)?(.+?)(?=\1|\040|> ).*(.+?)</a>#is'
    file_get_contents($uriToCheck),    $extractedValuesPREG_SET_ORDER) > 0
    Tempo totale in circa 0.850126028061

  7. #27
    @Virus_101:

    il tempo totale non lo puoi calcolare direttamente cosi perché è comprensivo dello scaricamento della pagina, a differenza del vostro codice che lo teneva dentro una variabile.

    Comunque il codice che ho postato è SICURAMENTE ottimizzabile, ergo quell'enorme IF, con ottime probabilità, potrebbe essere applicato alla variabile $completeUri piuttosto che alle componenti dell'url in questo modo la variabile $basePathForUris potrebbe trasformarsi in $baseUri e il controllo essere effettuato con un semplice strpos per verificare che $baseUri sia presente alla posizione zero (vanno usati i tre uguali per verificare anche il tipo oltre al valore, strpos restituisce false in caso di mancanza di risultati)

    A me il codice funziona perfettamente, non vorrei che il forum si fosse mangiato qualche carattere.

    @tutti:

    Ho messo online la pagina qui:
    http://www.phpsoft.it/mystuff/extractUris.phps
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  8. #28
    grazie a tutti per le risposte, ho già risolto, cmq stasera ci do un'occhiata per vedere se riesco a migliorare la funzione grazie ai vostri suggerimenti.

    ciao
    Mercatino online di annunci www.all-onweb.com
    Realizzazione siti web www.nineseven97.com
    Artigianato www.lartedifare.com

  9. #29
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Beh immagino sia ottimizzabile visto anche che come tu hai detto l'hai scritto in velocita'.
    E ovviamente il tempo dipende dal tempo di risposta del server.

    Cmq alla fine per controllare che il link sia interno io avrei scritto mooolto meno codice.
    Partendo dal presupposto che devo avere il nome del dominio da qlke parte(var statica, $_GET, $_SESSION o altro ) con uno strpos si controlla gia'.

    Cioe':
    Codice PHP:
    dominio dominio.com/pagina.html

    scorro l'array dei link 
      - se strpos( link , "http://" )!==false 
          - se strpos( link , dominio)!==false
             -- link e' 
    interno
          
    senno
             
    -- link e' esterno
       - senno
         - link e' 
    interno
    Che ne dici?


    EDIT:

    P.S.
    Sicuramente il forum si e' mangiato qlke carattere sulla reg exp.

  10. #30
    Beh, ma attualmente, se guardi quell'if gigante, faccio esattamente questo

    Se non c'è il dominio nel link, di conseguenza non ci può stare nemmeno lo schema o la porta, però il link, per forza di cosa, ergo per forza di RFC, si rivolge al dominio stesso

    Se c'è il dominio nel link, attualmente controllo schema, dominio e porta ... e se si, poi passo al controllo successivo, se richiesto, della path.

    Però, come dicevo, effettuo una certa quantità di controlli che volendo possono essere considerevolmente ridotti.

    Anzi, potrei aggiungere che si potrebbe passare invece che un url base, un filtro ... un array di regexp in modo che si da la possibilità di filtrare i link confrontando la regexp con la variabile $completeUri ... in questo modo hai sia la possibilità di verificare se è interno o esterno con una semplice regexp ma puoi anche andare ad escludere, ad esempio, dei link che appartengono ad una path specifica o terminano con una stringa ben precisa
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.