MemphiS Posted October 8, 2007 Share Posted October 8, 2007 On my site i have profiles and what i wish to do is remove text that is promoting other sites or leadin users to bad sites. str_replace("http://","Bad",$profile); str_replace(".com","Content",$profile); how do i work out how to replace the content between http:// and .com or .us etc.. Quote Link to comment https://forums.phpfreaks.com/topic/72372-profiles/ Share on other sites More sharing options...
lessthanthree Posted October 8, 2007 Share Posted October 8, 2007 $input = $bad_url; //this is the input that contains the url you want to replace. preg_replace("/\s(www\.[a-z][a-z0-9\_\.\-]*[a-z]{2,6}[a-zA-Z0-9\/\*\-\?\&\%]*)([\s|\.|\,])/i", "", $input); Quote Link to comment https://forums.phpfreaks.com/topic/72372-profiles/#findComment-365002 Share on other sites More sharing options...
MemphiS Posted October 8, 2007 Author Share Posted October 8, 2007 Thanks lessthanthree, i already took that into consideration but that doesnt solve the problem as that means everytime i see a url ill have to add it the the $bad_url. I was thinking something more mabey somehow counting from the http:// to the next . and then replaceing anything between that Quote Link to comment https://forums.phpfreaks.com/topic/72372-profiles/#findComment-365005 Share on other sites More sharing options...
lessthanthree Posted October 8, 2007 Share Posted October 8, 2007 You should actually be able to run whole blocks of text through that regex...I think it might struggle to work correctly if there's more than one URL in the text though....I'm far from a regex expert, but someone here surely is. In any case, a regex of some shape or form is almost certainly your best bet. Quote Link to comment https://forums.phpfreaks.com/topic/72372-profiles/#findComment-365009 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.