Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Trovare parola in una stringa e cancellare testo

    Ciao a tutti,vorrei fare una cosa particolare ma non so quali funzioni utilizzare:
    Ho una textbox dove faccio inserire dei link per l'embed video agli utenti però vorrei fare in modo che
    se il link è di YOUTUBE allora mi controlli se c'è la stringa
    &features=
    e mi elimini quello con tutto ciò che c'è dopo...
    Mi spiego meglio... Il link di youtube può presentarsi in questo modo se aperto da un altro video:

    http://www.youtube.com/watch?v=hHK5P...eature=related

    e quindi io vorrei farlo diventare

    http://www.youtube.com/watch?v=hHK5PGAX-sE

    togliendo tutta la parte &feature=related

    Come posso fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Vediamo se ho capito bene:

    Codice PHP:
    <?php
    $youtube 
    "http://www.youtube.com/watch?v=hHK5PGAX-sE&feature=related";
    $controllo "&feature=related";

    if ((
    $feature=strpos($youtube,$controllo)) !== false$youtube substr($youtube,0,$feature);

    $url $youtube;
    echo 
    $url;
    ?>

    Ho capito bene?

  3. #3
    Suggerirei un approccio differente e piu' solido che funziona indipendentemente da quanti e quali argomenti ci sono nell'URL, e dal loro ordine. Invece di manipolare direttamente la stringa, si usano due funzioni poco conosciute, benche' molto utili: parse_url() e parse_str() (vedere il manuale per dettagli). L'URL originale viene scomposta nelle sue parti, e viene generata quella finale prendendo solo l'argomento che interessa:

    Codice PHP:
    $str 'http://www.youtube.com/watch?v=hHK5PGAX-sE&feature=related';

    $parts parse_url($str);
    parse_str($parts['query'], $vars);

    $url "http://www.youtube.com?v={$vars['v']}";

    echo 
    $url

  4. #4
    Bellissima questa soluzione!
    La provo subito e vi faccio sapere!!

  5. #5
    Grazie mille!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    $str = 'http://www.youtube.com/watch?v=hHK5PGAX-sE&feature=related';

    $parts = parse_url($str);
    parse_str($parts['query'], $vars);

    $url = "http://www.youtube.com?v={$vars['v']}";

    echo $url;
    Mai vista questa funzione!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    [QUOTE]Grazie mille!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    [QUOTE]

    $str = 'http://www.youtube.com/watch?v=hHK5PGAX-sE&feature=related';

    $parts = parse_url($str);
    parse_str($parts['query'], $vars);

    $url = "http://www.youtube.com?v={$vars['v']}";

    echo $url;

    Mai vista questa funzione!
    In pratica:
    $array = parse_url(indirizzo);
    Serve a ottenere i "valori" dell'indirizzo. Tipo indirizzo, parametri get, i paramentri che vanno dopo # (non ricordo il nome) ecc. In questo caso "query" è la stringa contenente i parametri get.

    parse_str(valori get, array);
    Ti divide la stringa in variabili.
    E' equivalente a:

    Codice PHP:
    $string "tuoi valori";
    $arr = array();
    $div1 explode("&",$string);
    foreach(
    $div1 as $v){
      
    $v explode("=",$v);
      
    $nome $v[0]; $valore $v[1];
      
    $valore explode("+",$valore); $valore implode(" ",$valore);
      
    $arr[$nome] = $valore;

    Almeno credo....


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.