A simple wrapper based on this code, providing a service provider, a config file, and a class you can inject into your controllers. For me this is a more friendly way to include the work in my projects.
composer require joe-pritchard/laravel-twitter-text-formatter
To override the default display templates, publish and modify the config file:
php artisan vendor:publish --provider=JoePritchard\\LaravelTwitterTextFormatter\\Providers\\ServiceProvider
The following config options can be then changed ne changed in config/twitter-formatter.php
:
- show_retweeted_by (Control whether or not to show the "retweeted by..." text below retweets that appear in your timeline. Defaults to
true
) - retweeted_by_template (The template that should be used to display the "retweeted by..." section. Defaults to
<em> Retweeted by {{user_name}}</em>
) - hashtag_link_template (defaults to
<a href="{{hashtag_link}}" rel="nofollow" target="_blank">#{{hashtag_text}}</a>
) - url_link_template (defaults to
<a href="{{url_link}}" rel="nofollow" target="_blank" title="{{url_title}}">{{url_text}}</a>
) - user_mention_link_template (defaults to
<a href="{{user_mention_link}}" rel="nofollow" target="_blank" title="{{user_mention_title}}">@{{user_mention_text}}</a>
) - media_link_template (defaults to
<a href="{{media_link}}" rel="nofollow" target="_blank" title="{{media_title}}">{{media_text}}</a>
)
Just call JoePritchard\TwitterTextFormatter\Formatter::format()
on the tweet you'd like to format.
The format method takes one argument, which is a tweet as returned by the twitter API. For more details on how to retrieve
that, head to the official API docs or take a look at this article,
which is where I first encountered Andrea Zanelli's work before deciding to roll it into this package.
In blade files etc it may be more convenient to use the helper method: {!! twitter_format($tweet) !!}