2010-10-27 4 views
0

J'ai la ligne de test suivante dans mon PHP qui fonctionne bien comme un moyen de publier sur Twitter à partir de mon code PHP.Comment analyser une variable?

$oauth->post('statuses/update', array('status' => "hello world")); 

Cependant je veux afficher le contenu d'une variable par opposition à Bonjour tout le monde

Si je change le code comme suit, alors tout ce qui obtient affiché est $ Message

$oauth->post('statuses/update', array('status' => '$message')); 

I également essayé sans le 'mais alors rien n'a été posté, à savoir

$oauth->post('statuses/update', array('status' => $message)); 

Comment puis-je analyser correctement Le contenu du message $?

$ message est créé comme suit

$message = "http://www.smartphonesoft.com/index.php?option=com_mtree&task=viewlink&link_id=" .$link_id . " " ."Windows Phone Software" . " " .$link_name . " " . $metadesc; 

j'ai ajouté un écho $ message qui m'a montré ce que je pensais, à savoir:

http://www.smartphonesoft.com/index.php?option=com_mtree&task=viewlink&link_id=33183073 Windows Phone Software Pocket Player Pocket Player est un rockin 'façon de profiter de la musique et de la vidéo sur votre Windows appareil mobile. Grâce à plusieurs médias et formats de playlist, connectivité Internet , extensions de plugin, et une interface intuitive, Pocket Player signifie moins de robinets, plus de musique!

Merci,

Greg

+1

Êtes-vous sûr '$ message' a une valeur appropriée? Que fait imprimer 'var_dump ($ message)'? – Gumbo

+1

Avez-vous vérifié le contenu de '$ message'? Rappelez-vous que les chaînes comme '$ message' n'analysent pas les variables à l'intérieur ... – acm

+0

est-ce que le message résultant est trop long? – Gordon

Répondre

3

De l'Twitter API doc for status/update:

  • status Le texte de votre mise à jour d'état, jusqu'à 140 caractères. URL encoder si nécessaire.

Donc je dirais que vous devez raccourcir le $message, parce que le vôtre a 369 caractères.

+0

merci, c'était tout! auparavant, twitter raccourcirait automatiquement si> 140 caractères ... – kitenski

1

Le dernier code citation est correcte. Etes-vous sûr que $message a un contenu significatif?

(En plus: La raison pour '$message' affichage « $ message » mot pour mot est que les chaînes entre guillemets simples en PHP ne reçoivent pas l'interpolation de variables ni caractères d'échappement: '\n' est littéralement « \ n », alors que "\n" se traduirait par une chaîne contenant le caractère de nouvelle ligne.)

0

'$message' ne peut pas fonctionner car vous passez réellement la chaîne "'$message'" et non la variable $message. Si le deuxième code que vous avez posté ne fonctionne pas, c'est parce que $message n'est pas défini dans votre script, ou parce que quelque chose d'autre dans votre script est faux, mais nous ne pouvons pas vraiment le dire sans voir le reste du code.

0

Étant donné que votre URL est trop longue pour twitter, vous voudrez peut-être raccourcir l'URL avant de la publier. La page bit.ly API documentation vous aidera à créer un compte et votre propre clé API.

Vous pouvez alors soit concevoir votre propre code de la documentation officielle ou suivez ce bit.ly api tutorial by David Walsh

Questions connexes