Skip to main content

preg_replace_callback inside a class

<?php class MyClass {

  function
preg_callback_url($matches
)
  {
   
//var_dump($matches);
   
$url = $matches[1].$matches[2
];
   
$text = ''
;
   
$pos = strpos($url,' '
);
    if (
$pos!==FALSE
) {
     
$text = trim(substr($url,$pos+1
));
     
$url = substr($url,0,$pos
);
    }
    return
'<a href="'.$url.'" rel="nofollow">'.(($text!='') ? $text : $url).'</a>'
;
  }

  function
ParseText($text
)
  {
    return
preg_replace_callback('/\[(http|https|ftp)(.*?)\]/iS',array( &$this, 'preg_callback_url'), $text
);
  }

}
?>

Comments

Popular posts from this blog

Javascript Generator as promise

     function* makeIterator(data) {       for(i in data){                 yield data[i];         }     }         function runPull() {         var obj = it.next();         var val;         console.log("RunPull Clicked",obj);         if(!obj.done) {             val = obj.value;             val.click();             setTimeout(function(){                 runPull();             },200);         }     }     ru...

Recursive array calls one after another through promise

 data = [1,2,3,4] rules = [                     function(d){ return d.map(x => x * 2); },                     function(d){ return d.map(x => x * 2); }                ] recursive(0,rules,data); function somelongrunningprocess(rule, data){     var d = $.Deferred();     setTimeout(function(){ var result = rule.call(undefined,data); d.resolve(result); },1000);     return d; } function recursive(index, rules, data) {             if(index < rules.length) {                 $.when(somelongrunningprocess(rules[index],data)).then(function(response){                     console.log("after_rule",respon...