Je souhaite que cet URL http://www.youtube.com/watch?v=dgNgODPIO0w&feature=rec-HM-fresh+div
soit transformé en: http://www.youtube.com/v/dgNgODPIO0w
avec php.Modifier l'url-string
0
A
Répondre
3
J'utiliser une combinaison de parse_url
et parse_str
:
$url = 'http://www.youtube.com/watch?v=dgNgODPIO0w&feature=rec-HM-fresh+div';
$parts = parse_url($url);
parse_str($parts['query'], $params);
$url = 'http://www.youtube.com/v/'.$params['v'];
Ou une simple expression régulière:
preg_match('/^'.preg_quote('http://www.youtube.com/watch?', '/').'(?:[^&]*&)*?v=([^&]+)/', $url, $match);
$url = 'http://www.youtube.com/v/'.$match[1];
1
$url = 'http://www.youtube.com/watch?v=dgNgODPIO0w&feature=rec-HM-fresh+div';
$url = preg_replace('@http://www.youtube.com/watch\?v=([^&;]+).*[email protected]', 'http://www.youtube.com/v/$1', $url);
0
$url = 'http://www.youtube.com/watch?v=dgNgODPIO0w&feature=rec-HM-fresh+div';
preg_match('~(http://www\.youtube\.com/watch\?v=.+?)&.*?~i', $url, $matches);
echo $matches[1];
Questions connexes
- 1. Modifier une action dans TableView sans bouton Modifier?
- 2. Modifier l'algorithme de distance
- 3. Modifier l'étiquette d'UISwitch
- 4. Modifier le type d'entrée
- 5. Modifier les valeurs RVB
- 6. Modifier flash avec Java
- 7. Modifier l'ordre des colonnes
- 8. jQuery "modifier" événement
- 9. Flex - Modifier le navigateur
- 10. SimpleXMLElement Modifier Attribut Valeur
- 11. UITabBarController Modifier [Plus ...] Apparence
- 12. Modifier le dossier Emplacement?
- 13. Modifier la recherche Eclipse
- 14. Modifier dynamiquement CSS
- 15. modifier DataGrid ligne
- 16. Modifier l'userAgent de NSURLConnection
- 17. Modifier Datagrid ligne
- 18. modifier en place
- 19. Listview modifier l'élément
- 20. Modifier Emplacement IsolatedStorage
- 21. GetOpenFileName Modifier le répertoire
- 22. Modifier la réponse Http
- 23. Mod-rewrite URL Modifier
- 24. Modifier controller.action_name dans Rails
- 25. Modifier analysable JSON
- 26. drupal form modifier
- 27. Comment modifier l'attribut XML
- 28. modifier sélectionner avec DOM
- 29. HTML, CSS Modifier
- 30. modifier sousvariable dans FreeMarker
Vous savez que vous pouvez utiliser un caractère différent au lieu de/en tant que délimiteur dans une regex, non? Quel que soit le premier caractère de votre chaîne, il sera traité comme un délimiteur, de sorte que vous pouvez utiliser quelque chose comme # ou @ ou ~ au lieu de/(pour éviter d'avoir à échapper des barres obliques inverses dans l'URL elle-même). – Amber
@Dav: Oui, je le sais. Mais savez-vous que '.' est un méta-caractère et représente n'importe quel caractère arbitraire? – Gumbo