jhbalaji Posted May 31, 2010 Share Posted May 31, 2010 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 More sharing options...
ZachMEdwards Posted June 1, 2010 Share Posted June 1, 2010 I don't think you need regex to replace one occurrence. I don't really understand your post regardless. Link to comment https://forums.phpfreaks.com/topic/203450-problem-with-preg-replace-please-help/#findComment-1065949 Share on other sites More sharing options...
shadiadiph Posted June 1, 2010 Share Posted June 1, 2010 you mean like this? <?php $url='http://google.com'; $pattern="[http://]"; $url = preg_replace($pattern,'', $url); echo ''.$url.''; ?> Link to comment https://forums.phpfreaks.com/topic/203450-problem-with-preg-replace-please-help/#findComment-1066024 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.