Twitter URL kodlama

4 Cevap php

Biz biraz twitter Noel rekabeti başlatmak üzereyiz ve ben bir küçük pürüz çalıştırmak.

Girmek için, insanlar aşağıdaki biçimde bir tweet göndermek gerekir:

@user blah, blah, blah #hashtag

Şu anda, ben onların cevap (vesaire, vesaire, vesaire) ve tüm deyimi kodlar ve twitter url ekler bir PHP komut girmek bir form var:

http://www.twitter.com/home?status=%40user%20blah%2Cblah%2Cblah%20%23hashtag

Sonra twitter kullanıcı alır ve güncelleme alanında durumunu koyar.

Ancak, boşluk iken (% 20) @ ve # karakterleri% 40 olarak kalması ve ince çözülür Tweet yayınlanmıştır bile sırasıyla% 23,. Ben bir arama için twitter hataları bu gibi url gerçek karakterleri koyamazsınız.

Bunu çözmek için herhangi bir yolu var mı? Ben adı gerektirmeden & olmadan bunu yapmak istiyorum şifre vb mümkünse.

Herhangi bir yardım büyük takdir edilecektir.

4 Cevap

Ben aynı sorunu yaşadım ve çözümü çok basit oldu.

Just use
http://twitter.com/home?status=
instead of
http://www.twitter.com/home?status=
and it'll work as expected, even if the text isn't in ASCII.

If you want to know more details about this strange behavior see this blog post: http://www.kilometer0.com/blog/2010/01/21/twitter-status-urls-and-ampersands/

Bu kimse yardımcı olur umarım.

Sadece doğru Twitter'da yayınlamaktan deneyebilirsiniz:

<form action="http://www.twitter.com/home" method="GET">
    <textarea name="status">

...

Hmm. En azından yeni Twitter düzenini kullanırken ... Bu:

http://twitter.com/home?status=This+is+a+test+%26+So+is+this

(Oturum açıldığında) ... Bu yönlendirir:

http://twitter.com/?status=This%20is%20a%20test%20&%20So%20is%20this

(Şifresiz ve haber) ... ve tweet-in-bekleme olur:

Bu bir denemedir

(

Sayısız ayarlamaları ve çeşitleri yardım etmedi. (Sigh.)

Kuşkusuz kabataslak geçici çözüm: Değişim ve (% 26) (+% 2B). Bu tavsiye olabilir, düz metin ile bunu (yeniden) denklemi içine varlıkları tanıtan önce (örneğin,% 2B% 26 değişmez). Dedikleri gibi, bir kez kesti, iki kez ölçün.

Bir wile sonra ben bu ... Sen UTF8 Bunu yapmak için javascript kullanabilirsiniz, kodlanmış olarak göndermek zorunda var ama benim metin de tatabase geldi çünkü ben PHP prefere ....

<a href="http://twitter.com/share?text=<?= urlencode(utf8_encode( 'HERE I USE THE TITLE OF MY ARTICLE FROM DATABASE' )) ?>&lang=pt&url=<?= urlencode('http://jadielalves.com?s=stackoverflow') ;?>" target="_blank">SHARE ON TWITTER you can also put a twitter icon here... </a>