I have the following code to replace youtube iframe with my custom string output:
preg_match('/iframe src="([^"]+)"/', $value, $match);
$url = str_replace('https://www.youtube.com/embed/','',$match[1]);
$url = str_replace('?rel=0&enablejsapi=1','',$url);
return '<img src="https://img.youtube.com/vi/' . $url . '/mqdefault.jpg"/>';
But how do I implement the following code to some string which have multiple iframe but wrapped with other things that should stay when it returned:
$value = '<p style="text-align: center;"><iframe src="//www.youtube.com/embed/YZvJZrfw5oo" width="560" height="314" allowfullscreen="allowfullscreen"></iframe></p><p style="text-align: center;">Aut debitis debitis eius id recusandae. Eius unde beatae dicta neque numquam quod cupiditate. Vel dolor eos quia illo. Recusandae architecto aut quas nostrum earum totam exercitationem. Alias sint mollitia eaque molestias doloribus quia. Facere porro atque voluptatibus animi. Omnis nisi deleniti nisi sit rerum ratione rerum. Quis sed sit eveniet rerum repudiandae.<iframe src="//www.youtube.com/embed/yPg0Keqif0I" width="560" height="314" allowfullscreen="allowfullscreen"></iframe></p>';
//Which is the same as:
<p style="text-align: center;">
<iframe src="//www.youtube.com/embed/YZvJZrfw5oo" width="560" height="314" allowfullscreen="allowfullscreen">
</iframe>
</p>
<p style="text-align: center;">
Aut debitis debitis eius id recusandae. Eius unde beatae dicta neque numquam quod cupiditate. Vel dolor eos quia illo. Recusandae architecto aut quas nostrum earum totam exercitationem. Alias sint mollitia eaque molestias doloribus quia. Facere porro atque voluptatibus animi. Omnis nisi deleniti nisi sit rerum ratione rerum. Quis sed sit eveniet rerum repudiandae.
<iframe src="//www.youtube.com/embed/yPg0Keqif0I" width="560" height="314" allowfullscreen="allowfullscreen">
</iframe>
</p>