ameyemad Posted February 12, 2011 Share Posted February 12, 2011 Hi I'm trying to match @USERNAME in a string and replace it with @<a href="message.php?member=USERNAME">USERNAME</a> I've tried a few different methods: preg_replace ('/@(.*?)/', '<a href="message.php?member=$1">$1</a>', $str) and also * and \@ but i just can't seem to get it to work. any help would be appreciated! Link to comment https://forums.phpfreaks.com/topic/227425-preg_replace-matching-username/ Share on other sites More sharing options...
.josh Posted February 12, 2011 Share Posted February 12, 2011 Not psychic... 1) post an example string where @USERNAME is actually used 2) explain what characters can appear in USERNAME (only letters? letters and numbers? symbols? spaces? etc...) Link to comment https://forums.phpfreaks.com/topic/227425-preg_replace-matching-username/#findComment-1173084 Share on other sites More sharing options...
ameyemad Posted February 12, 2011 Author Share Posted February 12, 2011 The USERNAME can be letters, numbers or underscore only. So some examples: boy_man123 fooBarX 6_foo So let's say the string is: $str = "Hello @6_foo, how are you? To convert to: Hello @<a href="message.php?member=6_foo">6_foo</a>, how are you? Link to comment https://forums.phpfreaks.com/topic/227425-preg_replace-matching-username/#findComment-1173089 Share on other sites More sharing options...
.josh Posted February 12, 2011 Share Posted February 12, 2011 $str = preg_replace('~@([a-z0-9_]+)~i', '<a href="message.php?member=$1">$1</a>', $str); Link to comment https://forums.phpfreaks.com/topic/227425-preg_replace-matching-username/#findComment-1173096 Share on other sites More sharing options...
ameyemad Posted February 12, 2011 Author Share Posted February 12, 2011 Fantastic, thank you so much! Link to comment https://forums.phpfreaks.com/topic/227425-preg_replace-matching-username/#findComment-1173101 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.