Проблема: мне нужно проверить строку для ключевых фраз и, если она содержит эти фразы, назначить определенное имя тега.Поиск ключевых фраз в строках: PHP
Я работаю в WordPress с PHP.
код, который я создал до сих пор есть:
/* WOMENS SPORTSWEAR TAGS */
function map_womens_sportswear_tags($tag_name) {
$tags = array(
'Womens Tracksuit Pants' => array(
'Tracksuit Pants',
'Sweatpants',
'Shell Pants',
'Jogger Pants',
'Jogging Bottoms',
),
'Womens Tracksuit Jackets' => array(
'Tracksuit Jacket',
),
'Womens Fleece Jacket' => array(
'Fleece',
),
);
foreach($tags as $tag => $values) {
$current_tag = $tag; // Current tag is the name of the tag, like Womens Sports Shoe or Womens Tracksuit Pants
foreach($values as $value) {
if (strtolower($value) == strtolower($tag_name) || stripos($tag_name, $current_tag )) {
return $current_tag; // Returns tag name, i.e. 'Womens Sports Shoe' or 'Womens Tracksuit Pants'
break;
}
}
}
return $tag_name;
}
Поэтому, если строка содержит слово Беговых днищ, назначить женщина Tracksuit штаны. Я использовал stripos для этой цели, однако я не могу заставить код работать.
Пожалуйста, может кто-нибудь указать мне в правильном направлении, поскольку я новичок в кодировании. Спасибо заранее.
После первой встречи с тегом используют 'return', который возвращает' $ current_tag' из функции. Если я правильно понимаю, вы должны поместить теги в массив и вернуть весь массив в конце функции. –
не имеет смысла использовать перерыв после возврата, заявление будет недостижимым. Используйте это для второго параметра в if (stripos()! == false); –