3v4l.org

run code in 300+ PHP versions simultaneously
<?php $body = '<blockquote class="twitter-video" data-lang="ja"> <p lang="en" dir="ltr">Source, <a href="https://twitter.com/robbieg_15">@robbieg_15</a>? 😅<a href="https://twitter.com/hashtag/LacaNewSigning?src=hash">#LacaNewSigning</a> <a href="https://t.co/p2YZatjHl8">pic.twitter.com/p2YZatjHl8</a></p>— Arsenal FC (@Arsenal) <a href="https://twitter.com/Arsenal/status/882630918388822018">2017年7月5日</a> </blockquote> <script async="" src="//platform.twitter.com/widgets.js" charset="utf-8"></script> <blockquote class="twitter-tweet" data-lang="ja"> <p lang="und" dir="ltr"><a href="https://twitter.com/hashtag/LacaNewSigning?src=hash">#LacaNewSigning</a> 🔴 <a href="https://t.co/bo3qoZFCAU">pic.twitter.com/bo3qoZFCAU</a></p>— Arsenal FC (@Arsenal) <a href="https://twitter.com/Arsenal/status/882637617992523780">2017年7月5日</a> </blockquote> <script async="" src="//platform.twitter.com/widgets.js" charset="utf-8"></script>'; $body = preg_replace_callback('!(https://twitter.com/[^/]+?/status/\d+)!s', function ($matches) { return '[[embed-twitter]](' . trim($matches[1]) . ')'; }, $body); $body = preg_replace_callback('!(<blockquote class="twitter-.*?(\[\[embed-twitter\]\]\(https://twitter.com/[^/]+?/status/\d+\)).+?</blockquote>.+?twitter.com.+?</script>)!s', function ($matches) { var_dump($matches); return trim($matches[2]); }, $body); echo $body; ?>
Output for 5.6.38, 7.0.0 - 7.0.33, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
array(3) { [0]=> string(521) "<blockquote class="twitter-video" data-lang="ja"> <p lang="en" dir="ltr">Source, <a href="https://twitter.com/robbieg_15">@robbieg_15</a>? 😅<a href="https://twitter.com/hashtag/LacaNewSigning?src=hash">#LacaNewSigning</a> <a href="https://t.co/p2YZatjHl8">pic.twitter.com/p2YZatjHl8</a></p>— Arsenal FC (@Arsenal) <a href="[[embed-twitter]](https://twitter.com/Arsenal/status/882630918388822018)">2017年7月5日</a> </blockquote> <script async="" src="//platform.twitter.com/widgets.js" charset="utf-8"></script>" [1]=> string(521) "<blockquote class="twitter-video" data-lang="ja"> <p lang="en" dir="ltr">Source, <a href="https://twitter.com/robbieg_15">@robbieg_15</a>? 😅<a href="https://twitter.com/hashtag/LacaNewSigning?src=hash">#LacaNewSigning</a> <a href="https://t.co/p2YZatjHl8">pic.twitter.com/p2YZatjHl8</a></p>— Arsenal FC (@Arsenal) <a href="[[embed-twitter]](https://twitter.com/Arsenal/status/882630918388822018)">2017年7月5日</a> </blockquote> <script async="" src="//platform.twitter.com/widgets.js" charset="utf-8"></script>" [2]=> string(72) "[[embed-twitter]](https://twitter.com/Arsenal/status/882630918388822018)" } array(3) { [0]=> string(457) "<blockquote class="twitter-tweet" data-lang="ja"> <p lang="und" dir="ltr"><a href="https://twitter.com/hashtag/LacaNewSigning?src=hash">#LacaNewSigning</a> 🔴 <a href="https://t.co/bo3qoZFCAU">pic.twitter.com/bo3qoZFCAU</a></p>— Arsenal FC (@Arsenal) <a href="[[embed-twitter]](https://twitter.com/Arsenal/status/882637617992523780)">2017年7月5日</a> </blockquote> <script async="" src="//platform.twitter.com/widgets.js" charset="utf-8"></script>" [1]=> string(457) "<blockquote class="twitter-tweet" data-lang="ja"> <p lang="und" dir="ltr"><a href="https://twitter.com/hashtag/LacaNewSigning?src=hash">#LacaNewSigning</a> 🔴 <a href="https://t.co/bo3qoZFCAU">pic.twitter.com/bo3qoZFCAU</a></p>— Arsenal FC (@Arsenal) <a href="[[embed-twitter]](https://twitter.com/Arsenal/status/882637617992523780)">2017年7月5日</a> </blockquote> <script async="" src="//platform.twitter.com/widgets.js" charset="utf-8"></script>" [2]=> string(72) "[[embed-twitter]](https://twitter.com/Arsenal/status/882637617992523780)" } [[embed-twitter]](https://twitter.com/Arsenal/status/882630918388822018) [[embed-twitter]](https://twitter.com/Arsenal/status/882637617992523780)

preferences:
188.23 ms | 411 KiB | 212 Q