I’m using the followin cURL request to get all tweets from an account:
$url = 'https://api.twitter.com/1.1/statuses/user_timeline.json'; $requestMethod = 'GET'; $getfield = '?screen_name=heregoestheaccount&tweet_mode=extended&count=50'; $twitter = new TwitterAPIExchange($settings); $twitter->setGetfield($getfield); $twitter->buildOauth($url, $requestMethod); $response = $twitter->performRequest(true, array(CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0)); $tweets = json_decode($response, true);
I’m now getting the following array:
array (size=26)
'created_at' => string 'Fri Sep 25 12:05:51 +0000 2020' (length=30)
'id' => int 1309464126494846976
'id_str' => string '1309464126494846976' (length=19)
'full_text' => string '[ #Esports ]
On Sunday 27.09.2020 at 1 p.m. the First Division Qualifier for the Rainbow Six: Siege Fall Season 2020 will start! Our team will fight for its slot in the first division.
We wish all the best for their first competition in the noetic team!
#noeticBLAST ???????? (length=302)
'truncated' => boolean false
'display_text_range' =>
array (size=2)
0 => int 0
1 => int 272
'entities' =>
...
My problem is that, when rendering the full_text of the tweet, the text does not follow the original indentation, since it renders like this.

How to display the original indentation of the tweet?
EDIT: I have the following HTML to display the text:
<div class="col-sm-12 col-md-7">
<p>
<?= $tweet['full_text']; ?>
</p>
</div>
EDIT 2: according to @Pascal comment, I added <pre> tag in my <p>.
Here’s what is displayed:
But that’s not what I want, since I don’t want the user to have to scroll to see the text.
Advertisement
Answer
I found out how to do this. It’s ugly, but it works:
<?=str_replace(array("rn", "r", "n"), "<br/>", $tweet['full_text']); ?></p>