| 
	
 | 
 Posted by semi_evil on 05/23/07 13:37 
I'm trying to achieve the following: 
 
start form entry 
user enters form data and submits ($form_data) 
preg_match_all data  for  $pattern, store matches in $match_arr 
if one or more matches 
  display string back to user, with matched substrings in different 
color/emphasis 
  start form entry again 
else continue 
 
my initial solution to recontructing the string: 
// if 1 match 
preg_replace ($pattern,'<em>'.$match_arr[0][0].'</em>',$form_data,1); 
// if multiple matches 
preg_replace ($pattern,'<em>'.$match_arr[0].'</em>',$form_data,-1); 
 
...but the latter doesn't work the way I hoped. When the replace var is 
an array $pattern also must be an array for preg_replace to use the 
different array values in $replace. 
 
Any ideas how to get around this problem in an elegant manner? Or an 
alternative solution altogether? I searched for a function/solution 
that tells me at which position preg_match_all() found a match, so I 
can avoid the preg_replace altogether, but I haven't found any. 
 
cheers, 
Semi
 
  
Navigation:
[Reply to this message] 
 |