<?php 
$data = "
<p> 1. paragraf </p> 
<p> 2. paragraf </p> 
<p> 3. paragraf </p> 
<p> 4. paragraf </p>
";
$ads  = "<div>reklam kodları</div>";
$arr  = explode( "<p>", $data );
$arr[2] .= $ads;
echo implode("<p>",$arr);
?>
EDIT:
@PROOYUN;'un mesajına hiç bakmadan yazdım da o da aynıymış zaten.

O fonksiyonda
return implode(null, $temp);
yerine
return implode($ayrac, $temp);
kullanın.