fork download
  1. <?php
  2.  
  3. $search = array (
  4. '~\[b](.*?)\[/b]~is',
  5. '~\[i](.*?)\[/i]~is',
  6. '~\[u](.*?)\[/u]~is',
  7. '~\[ul](.*?)\[/ul]~is',
  8. '~\[li](.*?)\[/li]~is',
  9. '~\[user=(.*?)](.*?)\[/user]~i',
  10. '~\[url=https?.*?(?:[/?&](?:e|vi?|ci)(?:[/=]|%3D)|youtu\.be/|embed/|/user/[^/]+#p/(?:[^/]+/)+)([\w-]{10,12})].*?\[/url]~i',
  11. '~\[url]https?.*?(?:[/?&](?:e|vi?|ci)(?:[/=]|%3D)|youtu\.be/|embed/|/user/[^/]+#p/(?:[^/]+/)+)([\w-]{10,12}).*?\[/url]~i',
  12. '~\[url=((?:ht|f)tps?://[a-z\d.-]+\.[a-z]{2,3}/\S*?)](.*?)\[/url]~i',
  13. '~\[url]((?:ht|f)tps?://[a-z\d.-]+\.[a-z]{2,3}/\S*?)\[/url]~i',
  14. '~\[img=(.*?)].*?\[/img]~i',
  15. '~\[quote](.*?)\[/quote]~is',
  16. '~\[code](.*?)\[/code]~is',
  17. '~(?:<a.*?</a>|<img.*?</img>|<iframe.*?</iframe>)(*SKIP)(*FAIL)|(?:\bhttps?.*?(?:[/?&](?:e|vi?|ci)(?:[/=]|%3D)|youtu\.be/|embed/|/user/[^/]+#p/(?:[^/]+/)+)([\w-]{10,12}))\S*~i',
  18. '~(?:<a.*?</a>|<img.*?</img>|<iframe.*?</iframe>)(*SKIP)(*FAIL)|\bhttps?://(?:www\.)?clips\.twitch\.tv/([^&]+)\S*~i',
  19. '~(?:<a.*?</a>|<img.*?</img>|<iframe.*?</iframe>)(*SKIP)(*FAIL)|\bhttps?://(?:www\.)?imgur\.com/gallery/([^&]+)\S*~i',
  20. '~(?:<a.*?</a>|<img.*?</img>|<iframe.*?</iframe>)(*SKIP)(*FAIL)|\bhttps?://(?:www\.)?twitter\.com/([^&]+)/status/([^&]+)\S*~i',
  21. '~(?:<a.*?</a>|<img.*?</img>|<iframe.*?</iframe>)(*SKIP)(*FAIL)|\bhttps?://(?:www\.)?facebook\.com/([^&]+)/posts/([^&]+)\S*~i',
  22. '~(?:<a.*?</a>|<img.*?</img>|<iframe.*?</iframe>)(*SKIP)(*FAIL)|\bhttps?://.+?(?=\s|$)~im'
  23. );
  24.  
  25. $replace = array (
  26. '<strong>$1</strong>',
  27. '<em>$1</em>',
  28. '<u>$1</u>',
  29. '<ul>$1</ul>',
  30. '<li>$1</li>',
  31. '<a href="../login/profile?u=$1" target="_blank">$2</a>',
  32. '<br><iframe width="600" height="315" src="//www.youtube.com/embed/$1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><br>',
  33. '<br><iframe width="600" height="315" src="//www.youtube.com/embed/$1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><br>',
  34. '<a href="$1" target="_blank" rel="nofollow">$2</a>',
  35. '<a href="$1" target="_blank" rel="nofollow">$1</a>',
  36. '<img src="$1"></img>',
  37. '<quote>$1</quote>',
  38. '<code>$1</code>',
  39. '<br><iframe width="600" height="315" src="//www.youtube.com/embed/$1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><br>',
  40. '<br><iframe width="600" height="315" src="//clips.twitch.tv/embed?clip=$1&autoplay=false" frameborder="0" allowfullscreen></iframe><br>',
  41. '<blockquote class="imgur-embed-pub" lang="en" data-id="$1"><a href="//www.imgur.com/$1"></a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>',
  42. '<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr"><a href="//twitter.com/$1/status/$2?ref_src=twsrc%5Etfw"></a></blockquote><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>',
  43. '<iframe src="//www.facebook.com/plugins/post.php?href=//www.facebook.com/$1/posts/$2&width=500" width="500" height="705" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe>',
  44. '<a href="$0" target="_blank" rel="nofollow">$0</a>'
  45. );
  46.  
  47. $string = 'https://w...content-available-to-author-only...k.com/USER/posts/idnumber';
  48. echo preg_replace($search, $replace, $string);
Success #stdin #stdout 0s 82624KB
stdin
Standard input is empty
stdout
<iframe src="//www.facebook.com/plugins/post.php?href=//www.facebook.com/USER/posts/idnumber&width=500" width="500" height="705" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe>