I am trying to inject some html after the nth </p>
tag in HTML I retrieve from my database.
I have found this php code that works for regular text, but does not appear to work for </p>
.
function str_replace_n($search, $replace, $subject, $occurrence) {
$search = preg_quote($search,'/');
return preg_replace("/^((?:(?:.*?$search){".--$occurrence."}.*?))$search/", "$1$replace", $subject);
}
Been trying to get this to work, but have been unable to do so.
I am calling the function using the following call:
$row['post_content'] = $this->str_replace_n("</p>", "<a href='https://www.google.com/'>test</a></p>",$this->test_html() , 2);
The html being returned by test_html() is:
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis mattis in dolor at sodales. Donec nec pellentesque ipsum. Nullam a velit in neque volutpat rhoncus t
incidunt nec nisl. Suspendisse sem enim, tincidunt ac orci vel, sodales gravida metus. Duis dignissim urna ac porttitor imperdiet. Morbi in cursus nisl, vitae molest
ie ipsum. Suspendisse non ipsum suscipit, congue mauris ac, condimentum magna. Vivamus ultricies suscipit magna, sed finibus justo vestibulum sed.</p>
<p>Duis varius ultrices diam eu facilisis. Aenean non auctor nibh, vel blandit enim. Maecenas porta tellus at purus efficitur rutrum. Proin ullamcorper metus semper
tempus consectetur. Nullam vel pellentesque elit. Praesent fringilla libero elit, non blandit purus placerat eget. Nunc eu urna a est pretium convallis ac eget nunc.
Duis laoreet turpis sed sapien molestie, in ornare est lobortis.</p>
<p>Donec scelerisque consequat facilisis. Vestibulum at dignissim neque. Aenean tincidunt nulla in eros aliquet mollis. Fusce lacinia vehicula aliquet. Pellentesque
vitae orci eget purus suscipit suscipit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum auctor, augue at vest
ibulum placerat, risus lacus sodales neque, non pretium leo velit vel est. Phasellus lacinia maximus eros, viverra finibus augue gravida pharetra. Integer id ferment
um ex.</p>
<p>Sed suscipit, massa ac laoreet auctor, justo ipsum congue sapien, at gravida nulla risus non erat. Donec varius vehicula velit, nec volutpat enim feugiat a. Sed t
empor finibus maximus. Sed mauris ipsum, dictum quis felis non, blandit sollicitudin purus. In a diam non sapien mattis cursus. In pharetra euismod finibus. Integer
placerat eu lorem in maximus.</p>
<p>Mauris ut dolor id lectus laoreet commodo. Integer venenatis blandit augue eget faucibus. Sed euismod dui mi, at congue turpis imperdiet ut. Proin vulputate ferme
ntum porttitor. Nulla facilisi. Mauris sollicitudin lectus elit, id ultricies ipsum vulputate nec. Maecenas interdum, arcu sit amet facilisis consequat, turpis liber
o blandit dolor, sed suscipit leo felis quis felis. Curabitur varius quam at leo dapibus suscipit.</p>
Any help would be greatly appreciated.
As for it being a duplicate question, I disagree. The linked to answer, while informative, does not provide any substantial information on how to do what I am trying to achieve.