Ļ$žY ðivžY ĩ$žY ÐivžY aĐ žY dvžY æķžY bvžY ë·žY Ā_vžY é·žY °xvžY Ņ·žY ^vžY Ï·žY wvžY | žY [vžY Į·žY vvžY ĻķžY YvžY 9ļžY āUvžY š·žY PuvžY @ļžY Ā~vžY ·žY qvžY CļžY P|vžY LļžY 0|vžY žY āSvžY -vžY qvžY ī-žY 0pvžY RþžY QvžY UļžY QvžY [ļžY āPvžY ŅržY PovžY aļžY ĀvžY iļžY vžY 0Ā žY °EzžY ĀHzžY HzžY DzžY ĀOzžY GzžY MzžY 0zžY 0DzžY 0LzžY °LzžY @MzžY ĀKzžY ð@zžY ðFzžY OzžY EzžY ĀDzžY @DzžY Ŧ žY PRzžY WzžY ðOzžY ÐVzžY P^zžY VzžY °UzžY UzžY ŪzžY °ŪzžY ĀŪzžY Ā]zžY TzžY ]zžY `]zžY Ā[zžY [zžY [zžY āWzžY ŊzžY j`ržY °ŊzžY PPzžY PzžY °zžY 0°zžY @°zžY p°zžY °zžY °zžY ÐŊzžY žY _zžY azžY ^zžY pazžY mzžY azžY Ð`zžY ŪzžY ŪzžY °ŪzžY ĀŪzžY ÐŪzžY izžY @mzžY hzžY `kzžY @hzžY lzžY lzžY pizžY /]ržY hzžY gzžY 0gzžY ÐfzžY fzžY ÐmzžY ðjzžY °^zžY ÐizžY 0fzžY §Ŋ žY 0zžY āzžY nzžY ÐnzžY zžY `rzžY `qzžY qzžY 0zžY zžY zžY PzžY 0zžY PzžY zžY PzžY ĀpzžY tzžY pszžY @yzžY ° žY žY pf žY PY žY ÐŌ žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY ĀŌ žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY °Ō žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY Ō žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY Ō žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY Ō žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY pŌ žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY `Ō žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY PŌ žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY @Ō žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY 0Ō žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY Ō žY ĀÏ žY Ä žY Ä žY ÐĮ žY ÐĮ žY pŋ žY 0øžY üþŧY ð3žY ā!žY üþŧY 4žY ā!žY °7žY @žY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY Č7žY @žY qėŧY 0 žY $ žY pwžY @1 žY Ð$ žY üþŧY `9žY °7žY Ø8žY p] žY ] žY @žY @m žY `n žY ðn žY @h žY ph žY p žY o žY h žY @i žY P\ žY `w žY āw žY 0y žY üþŧY 9žY ā!žY 9žY žY P žY žY ;žY P;žY pwžY p;žY Ā;žY Ð žY P žY pwžY žY žY üþŧY Ð?žY ā!žY 8:žY Í žY Í žY @žY üþŧY ð?žY ā!žY x:žY ð žY ð žY @žY %žY ð%žY pwžY %žY ð$žY ðþŧY PXžY üþŧY pXžY ā!žY üþŧY XžY "žY üþŧY ĀXžY ;žY ;žY _žY _žY ``žY ;žY °_žY ð_žY žY žY 0žY ĀžY zžY žY °žY P{žY ÐyžY 8;žY `žY 0`žY žY žY 0žY ðžY zžY žY °žY P{žY ÐyžY ø:žY qėŧY qėŧY üþŧY YžY Č7žY üþŧY @YžY "žY x<žY žY @žY @žY žY <žY žY ĀžY @žY ĀyžY āžY žY zžY °žY žY P{žY ÐyžY üþŧY p[žY ā!žY üþŧY [žY @=žY üþŧY ā[žY Č7žY @=žY @žY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY qėŧY p=žY 0ļžY PļžY @žY āčžY X=žY æžY ÐæžY @žY Ā·žY зžY ā·žY pĘžY ðæžY ÞY `ÆžY pÆžY `ĮžY āĮžY `ČžY `ĘžY üþŧY @]žY ø:žY Č>žY ažY ĀažY `ažY pažY üþŧY p]žY !žY üþŧY ]žY ?žY ?žY qėŧY bžY PbžY (?žY pcžY cžY ĀbžY bžY PbžY `bžY üþŧY Ð]žY ?žY ļ?žY ežY ežY @ežY ežY the homepage for invalid searches. * * @param string $reason The reason for redirecting away. * @param string $to_url The URL to redirect to. * * @return void */ private function redirect_away( $reason, $to_url = '' ) { if ( empty( $to_url ) ) { $to_url = \get_home_url(); } $this->redirect_helper->do_safe_redirect( $to_url, 301, 'Yoast Search Filtering: ' . $reason ); } /** * Limits the number of characters in the search query. * * @return void */ private function limit_characters() { // We retrieve the search term unescaped because we want to count the characters properly. We make sure to escape it afterwards, if we do something with it. $unescaped_s = \get_search_query( false ); // We then unslash the search term, again because we want to count the characters properly. We make sure to slash it afterwards, if we do something with it. $raw_s = \wp_unslash( $unescaped_s ); if ( \mb_strlen( $raw_s, 'UTF-8' ) > $this->options_helper->get( 'search_character_limit' ) ) { $new_s = \mb_substr( $raw_s, 0, $this->options_helper->get( 'search_character_limit' ), 'UTF-8' ); \set_query_var( 's', \wp_slash( \esc_attr( $new_s ) ) ); } } /** * Determines if a text string contains an emoji or not. * * @param string $text The text string to detect emoji in. * * @return bool */ private function has_emoji( $text ) { $emojis_regex = '/([^-\p{L}\x00-\x7F]+)/u'; \preg_match( $emojis_regex, $text, $matches ); return ! empty( $matches ); } }