I want to convert a string like this
<p>one</p>
<p>two</p>
<p>three</p>
to this
<p>one<br>two<br>three</p>
(If it is only one paragraph tag then it would remain unchanged)
So I know the regex would basically just need to replace each </p><p> pair with a <br>, I could just str_replace() </p><p> with <br> but there will be possible line breaks or spaces between the closing and opening p tag.
So using regex, something like this. But this strips out 'two' (because it is between an ending and opening p tag). It also appears to break on new lines?
<?php
$string = '<p>one</p><p>two</p><p>three</p>';
$string2 = '<p>one</p>
<p>two</p>
<p>three</p>';
$pattern = '~</p>.*<p>~';
$replacement = '<br>';
echo preg_replace($pattern, $replacement, $string);
echo preg_replace($pattern, $replacement, $string2);
// Outputs "<p>one<br>three</p><p>one</p>" and "<p>one</p>
// <p>two</p>
// <p>three</p>"
Does anyone know how to fix that regex or know of a better method?
(I am using Wordpress in case there is some helper function)
Cheers! :)