Hi David,
Hope you are okay!
I'm trying to make a filter to find duplicate consecutive words in Productnames and only remove the surplus words.
For example:
'Flik Flak Watch watch KW239' should be 'Flik Flak watch KW239'
'Skagen skagen watch FL23H2' should be 'Skagen watch FL23H2'
I found a regexp
$string=preg_replace('/\b(\S+)(?:\s+\1\b)+/i', '$1', $string);
but I can't seem to find the right way to implement it.
A custom filter in filter.php would be great but I haven't succeeded in making one.
Hope you can help!
Cheers, Marlies
Hi David,
It works great, you're the best!
So much better than the regexp I used which often doesn't work as expected.
Thank you for your amazing support - as always :-)
Cheers, Marlies
Hello Marlies,
Have a go with the following; add to includes/filter.php to add a new "Strip Duplicate Words" filter...
/*************************************************/
/* stripDupes */
/*************************************************/
$filter_names["stripDupes"] = "Strip Duplicate Words";
function filter_stripDupesConfigure($filter_data)
{
print "<p>There are no additional configuration parameters for this filter.</p>";
}
function filter_stripDupesValidate($filter_data)
{
}
function filter_stripDupesExec($filter_data,$text)
{
$words = explode(" ",$text);
$newWords = array();
foreach($words as $word)
{
$newWords[strtolower($word)] = $word;
}
return implode(" ",$newWords);
}
Hope this helps!
Cheers,
David.
--
PriceTapestry.com