jamiet757 Posted October 1, 2010 Share Posted October 1, 2010 I have been becoming more and more familiar with PHP over the past few months, but this problem stumps me. How can I take a string of words separated by spaces taken from an XML feed (example: word1 word2 word3 word4) and turn it into something like this: <a href="word1">word1</a> <a href="word2">word2</a> ... and so on. This has to be done on the fly, since it is taking the words from the XML feed, they change depending on the page. I want them to be in a vertical column, and be able to link each one to the search page for that word, so each link has to be different. An even more in-depth problem, how can I sort it then so that there are multiple columns if necessary, say one page only has 3 words, but another has 50. How can I split them up into multiple vertical columns, say with 10 words in each? Have I confused anyone yet? Quote Link to comment https://forums.phpfreaks.com/topic/214950-adding-a-link-to-each-word-in-a-string/ Share on other sites More sharing options...
premiso Posted October 1, 2010 Share Posted October 1, 2010 $string = "word word word"; $array = explode(" ", $string); $display = ""; foreach ($array as $word) { $display .= '<a href="' . $word . '">' . $word . '</a>'; } echo $display; Should do it for ya. Quote Link to comment https://forums.phpfreaks.com/topic/214950-adding-a-link-to-each-word-in-a-string/#findComment-1118159 Share on other sites More sharing options...
jamiet757 Posted October 1, 2010 Author Share Posted October 1, 2010 wow, thanks! I am amazed at how easy that was, I should have been able to come up with it! How about seperating them into multiple columns, so in case I have a string with 100 words I don't have a huge page of links? Quote Link to comment https://forums.phpfreaks.com/topic/214950-adding-a-link-to-each-word-in-a-string/#findComment-1118160 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.