2017-09-21 1 views
0

Mein Titeltext hat dieses Zeichen | und daher funktioniert Twitter-Share nicht.Twitter teilt nicht, wenn Text vorhanden ist | in der URL

https://twitter.com/intent/tweet?text=Wall%20Clock%20|%20by%20BestPlace%20http://www.example.com/wall-clock&hashtags=BestPlace 

Dies ist der PHP-Code:

<a href="https://twitter.com/intent/tweet?text=<?php echo $heading_title; ?>%20<?php echo 'http://'. $_SERVER['HTTP_HOST']. $_SERVER['REQUEST_URI'];?>&amp;hashtags=fufuh" target="_blank" class="btn btn-default"> 
      Share Twitter 
     </a> 

Wie kann ich ersetzen oder entfernen | aus dem text so twitter würde es richtig laden?

+1

Sie behalten können über ' 'oder ' – Scuzzy

+0

Wenn Sie etwas in eine URL einbetten möchten, sollten Sie [' urlencode() '] (http://php.net/manual/en/function.urlencode.php) es. – Sammitch

+1

Komisch, dass zwischen "Wall Clock" und "% 20" bereits ein '% 20' steht ...' 'um Doppelcodierung zu verhindern? – Scuzzy

Antwort

1

Ich möchte wissen, warum Ihre $heading_title bereits teilweise url codierten Wert enthält ...

Entfernen/Ersetzen-Option:

<?php echo str_replace('|','',$heading_title); ?> 

Re-Encode Option:

Dies wird die aktuelle Kodierung entfernen (weil Ihr Titel für Leerzeichen hat), dann es neu codieren, um das Pipe-Zeichen zu fangen.

<?php echo urlencode(urldecode($heading_title)); ?> 

oder möglicherweise rawurlencode die prozentuale Notation (%20 vs +)

<?php echo rawurlencode(urldecode($heading_title)); ?> 
Verwandte Themen