fork download
  1. <?php
  2.  
  3. $text = 'Есть сайт site.ru
  4.  
  5. Нужно чтобы все внешние ссылки с классом "externalURL" , тобишь <a href="внешняя ссылка" class="externalURL" атрибуты>Ссылка</a>
  6. подменялись на такую запись, причем если у ссылки есть атрибуты, их трогать не нужно
  7.  
  8. <a href="http://s...content-available-to-author-only...e.ru//forum/dereferer/?ref=aHR0cCUzQS8veWFuZGV4LnJ1" class="externalURL" атрибуты>Ссылка</a>
  9.  
  10. где aHR0cCUzQS8veWFuZGV4LnJ1 закодированная в base64 "внешняя ссылка".';
  11.  
  12.  
  13. echo preg_replace_callback('~(?<=<a href=")[^"]+(?=".*?class="externalURL")~ius', function($m) {
  14. return 'http://s...content-available-to-author-only...e.ru//forum/dereferer/?ref=' . base64_encode($m[0]);
  15. }, $text);
Success #stdin #stdout 0.01s 52488KB
stdin
Standard input is empty
stdout
Есть сайт site.ru

Нужно чтобы все внешние ссылки с классом "externalURL" , тобишь <a href="http://s...content-available-to-author-only...e.ru//forum/dereferer/?ref=0LLQvdC10YjQvdGP0Y8g0YHRgdGL0LvQutCw" class="externalURL" атрибуты>Ссылка</a>
подменялись на такую запись, причем если у ссылки есть атрибуты, их трогать не нужно

<a href="http://s...content-available-to-author-only...e.ru//forum/dereferer/?ref=aHR0cDovL3NpdGUucnUvL2ZvcnVtL2RlcmVmZXJlci8/cmVmPWFIUjBjQ1V6UVM4dmVXRnVaR1Y0TG5KMQ==" class="externalURL" атрибуты>Ссылка</a>

где aHR0cCUzQS8veWFuZGV4LnJ1 закодированная в base64 "внешняя ссылка".