更新已解决(在这里添加答案,所以你不要浪费你的时间)这只是为了帮助同一个泡菜中的其他人
我刚刚注意到在将html部分转换为:
的帖子中正在剪切链接文本<a href="https://twitter.com/digitalOcean/status/723205273226190848" target="_blank">https://twitter.com/digitalOcean/sta...05273226190848</a>
因此失去了我的替换的/status
部分
将我的表情改为
~(<a href="https?://twitter.com)/(.*)/status/(.*)">(https?://twitter.com)/(.*)<\/a>~
解决了这个问题,对不起那些家伙=)
帮助他人的原始问题
我发布了另一个关于我的插件的问题,使用preg_replace只是为了得不到回复,所以我开始学习更多(总是一个好主意);)
我设法提出了更好的解决方案,但我需要一些帮助。这是我的新代码:
// embed tweet https://twitter.com/DrCustUmz/status/726561400617840641
$embed_tweet = '
<blockquote class="twitter-tweet" data-cards="hidden" data-lang="en">
<a href="https://twitter.com/\2/status/\3"></a>
</blockquote>
';
$this->post['message'] = preg_replace('~(<a href="https?://twitter.com)/(.*)/status/(.*)">(https?://twitter.com)/(.*)/status/(.*)<\/a>~', $embed_tweet, $this->post['message']);
// embed vine http://vine.co/v/bXZre5gtYgT/embed/postcard
$embed_player = '<iframe src="https://vine.co/v/\\4" width="480" height="480" frameborder="0"></iframe>';
$this->post['message'] = preg_replace('~(<a href="https?://vine.co)/v/(.*)">(https?://vine.co)/v/(.*)<\/a>~', $embed_player, $this->post['message']);
那么它呢?
好问题,在我的网站上,当用户发布链接时,一旦提交帖子,它就会将其格式化为href。 I.E.发布http://vine.co/v/bXZre5gtYgT/embed/postcard
变为<a href="http://vine.co/v/bXZre5gtYgT/embed/postcard" target="_blank">http://vine.co/v/bXZre5gtYgT/embed/postcard</a>
这个替换的作用是找到twitter和vine链接并自动插入该帖子的嵌入代码。
那么什么不对?
The Vine取代我还没有发现任何错误,但Twitter部分不想嵌入以下链接:
https://twitter.com/digitalOcean/status/723205273226190848
但确实取代:
https://twitter.com/DrCustUmz/status/726561400617840641
and
https://twitter.com/vBulletin/status/697116051079692288
我不能为我的生活弄明白这一点,因为除了用户名和帖子号码之外,链接没有区别。所以我的表情可能有问题吗?
这里是替换的链接:
https://twitter.com/digitalOcean/status/723205273226190848
这是我的正则表达式:
~(<a href="https?://twitter.com)/(.*)/status/(.*)">(https?://twitter.com)/(.*)/status/(.*)<\/a>~
我没有看到一个问题......
是的......关于那个,我倾向于忘记专门问一个问题我想你们都知道我想弄清楚lol
所以我猜...为什么我的preg_replace
适用于某些链接但不是全部?
对此的任何帮助将不胜感激:)
这不是我之前的问题的重复,我已经完全了解了我自己的所有问题,并且我已经准备好自己回答。
答案 0 :(得分:1)
我刚刚注意到在将html部分转换为:
的帖子中正在剪切链接文本<a href="https://twitter.com/digitalOcean/status/723205273226190848" target="_blank">https://twitter.com/digitalOcean/sta...05273226190848</a>
因此失去了我的替换的/status
部分
将我的表情改为
~(<a href="https?://twitter.com)/(.*)/status/(.*)">(https?://twitter.com)/(.*)<\/a>~
解决了这个问题,对不起那些家伙=)