2 回答

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
使示例工作的一種簡單方法是創(chuàng)建輸入中所有單詞的數(shù)組,并分別檢查每個(gè)單詞。下面是一個(gè)示例:
function allergen(string $value): string
{
$return = "";
$allergens = ['pszenica', 'pszenicy', '?yto', '?yta', 'j?czmień', 'j?czmieniem', 'j?czmienia', 'owies', 'owsem', 'owsa', 'orkisz', 'orkiszem', 'orkisza', 'jaja', 'jajka', 'jajo', 'jajecznica', 'jajeczny', 'jajeczna', 'z jajkiem', 'jajko', 'ryby', 'ryb', 'rybne', 'rybny', 'dorsz', 'dorsza', 'dorszem', '?oso?', '?ososiem', '?ososia', 'mintaj', 'mintajem', 'mintaja', 'makrela', 'makrel?', 'makreli', 'miruna', 'mirun?', 'miruny', 'pstr?g', 'pstr?giem', 'pstr?ga', 'sola', '?led?', '?ledziem', '?ledzi', 'sardynki', 'sardynka', 'sardynek', 'sardynkami', 'halibut', 'halibuta', 'halibutem', 'szczupak', 'szczupakiem', 'szczupaka', 'sandacz', 'sandaczem', 'sandacza', 'tuńczyk', 'tuńczyka', 'tuńczykiem', 'kergulena', 'kergul?', 'orzeszki', 'orzechy', 'orzech', 'orzechowy', 'orzechowe', 'orzechami', 'migda?y', 'migda?ami', 'migda?', 'nerkowce', 'pistacje', 'pistacjami', 'pistacji', 'migda?owe', 'p?atki migda?owe', 'p?atkami migda?owymi', 'seler', 'z selerem', 'selerowy', 'gorczyca', 'gorczyc?', 'gorczycy', 'sezam', 'sezamowe', 'sezamu', 'sezamem', 'musztarda', 'musztard?'];
$words = explode(' ', $value); // create an array of words
foreach($words as $word) { //iterate through words
if (in_array(mb_strtolower($word), $allergens)) {
$return .= "<b>" . $word . "</b> ";
} else {
$return .= $word . " ";
}
}
return trim($return); //remove trailing space from the end
}
echo allergen('lubie takie owies'); // returns: lubie takie <b>owies</b>

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
這可以通過 preg_replace() 而不是 來完成。但請注意,您需要為數(shù)組中的每個(gè)字符串添加分隔符。in_array()$allergens
$string = 'lubie takie owies';
$allergens = ['/pszenica/', '/pszenicy/', '/?yto/', '/?yta/', '/j?czmień/', '/j?czmieniem/', '/j?czmienia/', '/owies/', '/owsem/', '/owsa/'];
$result = preg_replace($allergens, '<b>$0</b>', $string);
var_dump($result);
- 2 回答
- 0 關(guān)注
- 102 瀏覽
添加回答
舉報(bào)