Jump to content

Problem with Preg Replace! Please Help!


jhbalaji

Recommended Posts

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

Link to comment
https://forums.phpfreaks.com/topic/203450-problem-with-preg-replace-please-help/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.