fork(1) download
  1. <?php
  2.  
  3. $string = 'blabla <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> blabla <!-- scat --><img src="{SMILIES_PATH}/cat2.gif" alt="cat" title="Cat" /><!-- scat --> blabla';
  4. $pattern = '(<!-- s(\S*) --><img src="\S*" alt="\S*" title="[^"]+" \/><!-- s\S* -->)';
  5.  
  6. var_dump($string);
  7. var_dump($pattern);
  8.  
  9. preg_match_all($pattern, $string, $result);
  10. var_dump($result);
  11.  
  12. $i = 0;
  13. foreach ($result[0] as $match) {
  14. $string = str_replace($match, $result[1][$i], $string);
  15. $i++;
  16. }
  17.  
  18. var_dump($string);
Success #stdin #stdout 0.02s 24192KB
stdin
Standard input is empty
stdout
string(204) "blabla <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> blabla <!-- scat --><img src="{SMILIES_PATH}/cat2.gif" alt="cat" title="Cat" /><!-- scat --> blabla"
string(72) "(<!-- s(\S*) --><img src="\S*" alt="\S*" title="[^"]+" \/><!-- s\S* -->)"
array(2) {
  [0]=>
  array(2) {
    [0]=>
    string(97) "<!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->"
    [1]=>
    string(85) "<!-- scat --><img src="{SMILIES_PATH}/cat2.gif" alt="cat" title="Cat" /><!-- scat -->"
  }
  [1]=>
  array(2) {
    [0]=>
    string(2) ":D"
    [1]=>
    string(3) "cat"
  }
}
string(27) "blabla :D blabla cat blabla"