Имам следната функция, искам тя да премахне "alpha", когато е само една дума, а не част от съставна дума като "alphadog". Сега вместо това просто виждам "куче" и не е добре. Някаква помощ?
function stripwords($string)
{
// build pattern once
static $pattern = null;
if ($pattern === null) {
// pull words to remove from somewhere
$words = array('alpha', 'beta', '-');
// escape special characters
foreach ($words as &$word) {
$word = preg_quote($word, '#');
}
// combine to regex
$pattern = '#\b(' . join('|', $words) . ')\b\s*#iS';
}
$print = preg_replace($pattern, '', $string);
list($firstpart)=explode('+', $print);
return $firstpart;
}
редактиране: здравей, имам друг проблем... редактирах по-горе с новата версия на функцията: премахва думите, коригира белите интервали и след това прави нещо друго, което ми трябва, но не премахва тирета (или минус). .. какво не е наред? опитах нещо, но без успех...благодаря