Felix Riesterer: Content: finde das "zweite" öffende <p> und scheibe etwas davor. [Meine Idee nur Bastlerlösung]

Beitrag lesen

Lieber Reto,

und nun passiert nichts (kein <p> wird mit dem Link erweitert)

wenn Zeilenumbrüche enthalten sind, muss das Suchmuster noch ein (?s) enthalten:

$insert = '<a>Link</a>';

$html = preg_replace(
    '~(?s)(.*?<p>.*?)(<p)~',
    '$1'.$insert.'$2',
    "<div>\r\n\t<p>Trallala</p>\r\n\t<p>Fidirallalla</p>\r\n</div>"
);

/* $html = <div>
	<p>Trallala</p>
	<a>Link</a><p>Fidirallalla</p>
</div>
*/

Liebe Grüße,

Felix Riesterer.