fork download
  1. <?php
  2.  
  3. $content = <<<DATA
  4. <body>
  5. <div class="sm2-inline-duration timestamp">0:00</div>
  6. <div class="sm2-inline-time timestamp">0:00</div>
  7. <div class="sm2-inline-duration">0:00</div>
  8. <div class="sm2-inline-duration">Do not touch this</div>
  9. </body>
  10. DATA;
  11.  
  12. $pattern = '/(<div\s+[^<]*?\bclass="[^<"]*\btimestamp\b[^<]*?>[^<]*)?(?<!:)\d{1,2}:\d{2}(?::\d{2})?(?!(?::\d{2})?\s*[ap]\.?m\.?)(?!.*?["\'])/';
  13. $replacement = '[spp-timestamp time="$0"]';
  14. $foundTimestamp = preg_replace_callback($pattern,function($m) {
  15. return empty($m[1]) ? '[spp-timestamp time="'. $m[0] . '"]' : $m[0];
  16. }, $content);
  17. echo $foundTimestamp;
Success #stdin #stdout 0s 52488KB
stdin
Standard input is empty
stdout
<body>
<div class="sm2-inline-duration timestamp">0:00</div>
<div class="sm2-inline-time timestamp">0:00</div>
<div class="sm2-inline-duration">[spp-timestamp time="0:00"]</div>
<div class="sm2-inline-duration">Do not touch this</div>
</body>