preg 替换推特状态和 http 或 https PHP

preg replace twitter status and http or https PHP

我将从我拥有的开始:

// embed tweet
$embed_tweet =  '
  <blockquote class="twitter-tweet" data-cards="hidden" data-lang="en">
    <a href="https://twitter.com/\4"></a>
  </blockquote>
';

$this->post['message'] = preg_replace('#(<a href="http://twitter.com)?/(status/([-|~_0-9A-Za-z]+)|v\/([-|~_0-9A-Za-z]+)&?.*?)">(http://twitter.com)?/(status/([-|~_0-9A-Za-z]+)|v\/([-|~_0-9A-Za-z]+)&?.*?)<\/a>#i', $embed_tweet, $this->post['message']);

// embed vine
$embed_player =  '<iframe src="https://vine.co/v/\4/embed/simple" width="480" height="480" frameborder="0"></iframe>';

$this->post['message'] = preg_replace('#(<a href="http://vine.co)?/(embed/([-|~_0-9A-Za-z]+)|v\/([-|~_0-9A-Za-z]+)&?.*?)">(http://vine.co)?/(embed/([-|~_0-9A-Za-z]+)|v\/([-|~_0-9A-Za-z]+)&?.*?)<\/a>#i', $embed_player, $this->post['message']);

我正在努力做到这一点,当用户 post 向 Twitter 状态或 Vine post 添加 link 时,它会自动嵌入 post。

Vine 代码是给我的,我设法更新了它的一部分,只有当它 http 或者我添加了 s 时我才能让它工作,我只能用一种方式或其他,我尝试从它开始工作以使 Twitter 正常运行。

但我不知道如何为 Twitter 嵌入找到合适的 preg_replace

一条微博状态link如下:

https://twitter.com/DrCustUmz/status/726561400617840641

因此,如果用户 post 喜欢 link 并且提交了 post,它会变成:

<a href="https://twitter.com/DrCustUmz/status/726561400617840641" taget="_blank">https://twitter.com/DrCustUmz/status/726561400617840641</a>

那么我怎样才能做到这一点,我怎样才能得到我需要的preg_replace

另外... \4

中的内容
$embed_player =  '<iframe src="https://vine.co/v/\4/embed/simple"...

继续学习更多的旅程,这就是我想出的。

// embed tweet
$drc_embed_tweet =  '
  <blockquote align="center" class="twitter-tweet" data-cards="hidden" data-lang="en">
    <a href="https://twitter.com//status/"></a>
  </blockquote>
';
$this->post['message'] = preg_replace('~(<a href="https?://twitter.com)/(.*)/status/(.*)">(https?://twitter.com)/(.*)<\/a>~', $drc_embed_tweet, $this->post['message']);

// embed vine

$drc_embed_vine =  '<iframe align="center" src="https://vine.co/v/" width="480" height="480" frameborder="0"></iframe>';

$this->post['message'] = preg_replace('~(<a href="https?://vine.co)/v/(.*)">(https?://vine.co)/v/(.*)<\/a>~', $drc_embed_vine, $this->post['message']);

至于数字 </code> 根据我的理解,这是 reg 的一部分。前任。自第二个注册以来被替换。前任。 <code> 是一样的,任何一个数字都可以使用。