Page 1 of 1

Parallel Foreach loops

Posted: Mon Oct 25, 2010 11:29 am
by Miteshsach86
Hi Guys,

I'm really :? [confused] about this however what I have so far is create a simple HTML form, instructing the end user to enter a list of keywords with links to replace them with in the following format: A keywords followed by a comma and then URL and semicolon:

For example:
birds,http://www.birdwatching.com/;
snakes,http://www.whales.com/;
horses,http://www.horse.com/;

What I have done next is split each word with its associated url after each newline and then placed all the words into 1 array and all the urls into another array, using the following code:

Code: Select all

preg_match_all('/(.*),(.*);/',$wordsurls, $phrase);
$wds = $phrase[1];
$rurls = $phrase[2];
foreach($wds as $wd) {
	$words_array[] = $wd;
}
foreach($rurls as $rurl) {
	$urls_array[] = $rurl;
}
All that works perfectly fine but now I wish to search a string to find each of those keywords, and if they exist I would like to replace them with the URL. I believe this can be done using Parallel Array matching but do not know how to go accomplishing this. Could someone please help me?

Thank you in advance.

M

Re: Parallel Foreach loops

Posted: Mon Oct 25, 2010 1:24 pm
by twinedev
from: http://php.net/str_replace

Code: Select all

// Provides: You should eat pizza, beer, and ice cream every day
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);
so with what you have, you should be able to do something like:

Code: Select all

$changed_text = str_replace($words_array,$urls_array,$orignal_text);