Re: Preg_match - Find URL and convert to lower case
| From: | Kevin Murphy | Date: | Fri, 01 Dec 2006 22:34:11 +0000 |
| Subject: | Re: Preg_match - Find URL and convert to lower case | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-245438@lists.php.net to get a copy of this message | ||
On Dec 1, 2006, at 1:56 PM, Richard Lynch wrote:
On Thu, November 30, 2006 5:04 pm, Kevin Murphy wrote:Since these are mostly instructor's websites, that last 10% I figure it would be easier to just ask the instructors to change their site addresses. Since these are in the middle of the text, I don't think that lower will work. Doesn't it just do the same thing as strtolower? The query as is right now is (edited) "select note_text as note_text from classes" where note_text is many lines of text and in the middle of some are links and emails. What I ended up with, is this, which takes care of website addresses and emails as well (although those stay all-caps). The str_replace is there because some have the HTTP and some don't and I figured it was easier to just wipe them all out first. $section_notes = str_replace("HTTP://","",$section_notes); $section_notes = preg_replace('/WWW.(.*?) /e', '"<a href=\"http://www." . strtolower("$1") . "\" target=\"_blank\">http://www." . strtolower("$1") . "</a>"', $section_notes); $section_notes = eregi_replace("(([a-z0-9_]|\\-|\\.)+@([^[:space:]]*)([[:alnum:]-]))", "<a href=\"mailto:\\1\">\\1</a>",$section_notes); Anyone have a better idea on how to accomplish the same thing? -- Kevin Murphy Webmaster: Information and Marketing Services Western Nevada Community College www.wncc.edu 775-445-3326Well the problem would be then that the entire string would be lower case, and I only can have the link as lower case. Is there a way to apply strtolower into the preg_match?Why not use lower(link) in SQL to get the link out in the first place? Also, the domain part cannot be case-sensitive, so you needn't worry about that part. For the 10% that don't work, a quick check with common variants on capitalization might help to fix those up.