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

Custom Sorting Array List in PHP

 <?php $order = array("Z","Srilanka","34", "Canada", "India", "USA"); $array = array(     array('id' => 7867867, 'title' => 'USA'),     array('id' => 3452342, 'title' => 'India'),     array('id' => 1231233, 'title' => 'Srilanka'),     array('id' => 5867867, 'title' => 'Z'), ); usort($array, function ($a, $b) use ($order) {     $pos_a = array_search($a['title'], $order);     $pos_b = array_search($b['title'], $order);     return $pos_a - $pos_b; }); print_r($array); ?>

simple recursive function to copy entire directories

<?php function recurse_copy ( $src , $dst ) {     $dir = opendir ( $src );     @ mkdir ( $dst );     while( false !== ( $file = readdir ( $dir )) ) {         if (( $file != '.' ) && ( $file != '..' )) {             if ( is_dir ( $src . '/' . $file ) ) {                 recurse_copy ( $src . '/' . $file , $dst . '/' . $file );             }             else {                 copy ( $src . '/' . $file , $dst . '/' . $file );             }         }     }     closedir ( $dir ); } ?>