Recently i was Writing a Preg replace Function in PHP
Here is the Code below
$suchmuster = "/".$textlinksname."/i";
$replace = "<a href='".$textlinksurl."' target='_blank'>".$textlinksname."</a>";
$body = preg_replace($suchmuster,$replace,$body,200);
Since the variable $body contains links begins with http:// when it replaces the matched text in URL it becomes a problem
Similarly for the images too
So is there any way to skip the text containing http:// using preg replace function ?
Here's an example
$textlinksname = 'Google';
$textlinksurl = 'http://google.com';
$body = 'Google is a great search engine. Here is the logo of it <img src =\'http://google.com/logo.jpg\'>';
$suchmuster = "/".$textlinksname."/i";
$replace = "<a href='".$textlinksurl."' target='_blank'>".$textlinksname."</a>";
$body = preg_replace($suchmuster,$replace,$body,200);
// Here the Output will be
// <a href='http://google.com' target='_blank'>Google</a> is a great search engine. Here is the logo of it <img src ='http://<a href='http://google.com' target='_blank'>Google</a>.com/logo.jpg'>
// It replaces the Word 'Google' even in the URL(Image) as result the links and image links get broken
// So, I expect the output must be like this
//<a href='http://google.com' target='_blank'>Google</a> is a great search engine. Here is the logo of it <img src ='http://google.com/logo.jpg'>
// Such that It replaces only text and skip the text in the URL's
Thanks