У меня возникла проблема с тем, что код возвращает «Мужчины» для всех значений «Женщины», поскольку в нем также содержится термин «Мужчины». Я тщетно пытался «~ \ bWord \ b ~».Соответствие точной строки в строке
Как можно изменить код ниже для возврата разных значений?
function replaceWords($value) {
//here are predefined values
$predefined = array(
array(
'search'=>'Women',
'replaceWith'=>'Women'
),
array(
'search'=>'Men',
'replaceWith'=>'Men'
)
);
//search and replace
$found = false;
foreach ($predefined as $item) {
$search = array_map('trim', explode(',', $item['search']));
foreach ($search as $s) {
if (strstr(strtolower($value), strtolower($s))) {
$found = true;
$value = $item['replaceWith'];
break;
}
}
}
return ($found)?$value:"";
}
Помощь очень ценится.
Привет, это замена строки с различными словами в одно слово. Например, «Мужчины любят виджетов» и меняют это на «Мужчин» –