Je crois qu'il y a quelque chose qui t'échappe.
Si je comprends bien ton problème, $link[6]['event_tks_twitter'] contient une chaîne de la forme
https://twitter.com/#!/dourfestival
Partant de ce postulat (ne pas oublier le / à la fin ici '#!/') :
$find = array('http://', 'https://', 'twitter.com/', 'intent/user?screen_name=', '#!/');
$twitter = '@'.str_replace($find, '', $link[6]['event_tks_twitter']);
echo $twitter; // @dourfestival
Pour le code d'@rthur si $link[6]['event_tks_twitter'] contient une chaîne de la forme
http://twitter.com/#!/dourfestival (tu remarqueras c'est http pas https sinon il faut adapter le pattern en fonction, en mettant par exemple (http|https) à la place de http, soit
"`^(http|https):// dans les preg_match pour prendre en compte les deux possibilités)
Partant de ce postulat :
$twitter = url2pseudo_twitter($link[6]['event_tks_twitter']);
echo $twitter; // @dourfestival
EDIT
Comprend bien que quand tu fais :
$find = array('http://', 'https://', 'twitter.com/', 'intent/user?screen_name=', '#!');
str_replace($find, '@' ,'https://twitter.com/#!/dourfestival')
Chaque occurence de $find trouvée va être remplacé par @.
Donc https:// est remplacé par @ puis twitter.com/ est remplacé par @ puis #! est remplacé par @.
Il en résulte donc @@@/dourfestival
Et sinon pour le syntax error, unexpected '"@"'
.' '"@".str_replace($find, '' ,$link[6]['event_tks_twitter'])
Il y a bien une erreur de syntaxe ici
.' '"@".
Ce devrait être
.' '."@". ou plus simplement
.' @'.
Je crois qu'il y a quelque chose qui t'échappe. ;)
Si je comprends bien ton problème, $link[6]['event_tks_twitter'] contient une chaîne de la forme https://twitter.com/#!/dourfestival
Partant de ce postulat (ne pas oublier le / à la fin ici '#!/') :
[php]$find = array('http://', 'https://', 'twitter.com/', 'intent/user?screen_name=', '#!/');
$twitter = '@'.str_replace($find, '', $link[6]['event_tks_twitter']);
echo $twitter; // @dourfestival[/php]
Pour le code d'@rthur si $link[6]['event_tks_twitter'] contient une chaîne de la forme http://twitter.com/#!/dourfestival (tu remarqueras c'est http pas https sinon il faut adapter le pattern en fonction, en mettant par exemple (http|https) à la place de http, soit [i]"`^(http|https)://[/i] dans les preg_match pour prendre en compte les deux possibilités)
Partant de ce postulat :
[php]$twitter = url2pseudo_twitter($link[6]['event_tks_twitter']);
echo $twitter; // @dourfestival[/php]
EDIT
Comprend bien que quand tu fais :
[php]$find = array('http://', 'https://', 'twitter.com/', 'intent/user?screen_name=', '#!');
str_replace($find, '@' ,'https://twitter.com/#!/dourfestival')[/php]
Chaque occurence de $find trouvée va être remplacé par @.
Donc https:// est remplacé par @ puis twitter.com/ est remplacé par @ puis #! est remplacé par @.
Il en résulte donc @@@/dourfestival
Et sinon pour le syntax error, unexpected '"@"'
[php].' '"@".str_replace($find, '' ,$link[6]['event_tks_twitter'])[/php]
Il y a bien une erreur de syntaxe ici [b].' '"@"[/b].
Ce devrait être [b].' '."@".[/b] ou plus simplement [b].' @'.[/b]