<?php
$html = <<<DATA
<body>
<div class="sm2-inline-duration timestamp">0:00</div>
<div class="sm2-inline-time timestamp">0:00</div>
<div class="sm2-inline-duration">0:00</div>
<div class="sm2-inline-duration">Do not touch this</div>
</body>
DATA;
$dom = new DOMDocument('1.0', 'UTF-8');
$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$pattern = '/(?<!:)\d{1,2}:\d{2}(?::\d{2})?(?!(?::\d{2})?\s*[ap]\.?m\.?)/i';
$replacement = '[spp-timestamp time="$0"]';
$xpath = new DOMXPath($dom);
$divs = $xpath->query('//div[not(contains(@class, "timestamp"))]');
foreach($divs as $div) {
$div->nodeValue = preg_replace ($pattern,$replacement, $div->nodeValue); }
echo $dom->saveHTML();
PD9waHAKCiRodG1sID0gPDw8REFUQQo8Ym9keT4KPGRpdiBjbGFzcz0ic20yLWlubGluZS1kdXJhdGlvbiB0aW1lc3RhbXAiPjA6MDA8L2Rpdj4KPGRpdiBjbGFzcz0ic20yLWlubGluZS10aW1lIHRpbWVzdGFtcCI+MDowMDwvZGl2Pgo8ZGl2IGNsYXNzPSJzbTItaW5saW5lLWR1cmF0aW9uIj4wOjAwPC9kaXY+CjxkaXYgY2xhc3M9InNtMi1pbmxpbmUtZHVyYXRpb24iPkRvIG5vdCB0b3VjaCB0aGlzPC9kaXY+CjwvYm9keT4KREFUQTsKCiRkb20gPSBuZXcgRE9NRG9jdW1lbnQoJzEuMCcsICdVVEYtOCcpOwokZG9tLT5sb2FkSFRNTCgkaHRtbCwgTElCWE1MX0hUTUxfTk9JTVBMSUVEIHwgTElCWE1MX0hUTUxfTk9ERUZEVEQpOwoKJHBhdHRlcm4gPSAnLyg/PCE6KVxkezEsMn06XGR7Mn0oPzo6XGR7Mn0pPyg/ISg/OjpcZHsyfSk/XHMqW2FwXVwuP21cLj8pL2knOwokcmVwbGFjZW1lbnQgPSAnW3NwcC10aW1lc3RhbXAgdGltZT0iJDAiXSc7CgokeHBhdGggPSBuZXcgRE9NWFBhdGgoJGRvbSk7CiRkaXZzID0gJHhwYXRoLT5xdWVyeSgnLy9kaXZbbm90KGNvbnRhaW5zKEBjbGFzcywgInRpbWVzdGFtcCIpKV0nKTsKCmZvcmVhY2goJGRpdnMgYXMgJGRpdikgeyAKICAgJGRpdi0+bm9kZVZhbHVlID0gcHJlZ19yZXBsYWNlICgkcGF0dGVybiwkcmVwbGFjZW1lbnQsICRkaXYtPm5vZGVWYWx1ZSk7Cn0KCmVjaG8gJGRvbS0+c2F2ZUhUTUwoKTs=