forked from GNUsocial/gnu-social
		
	Use preg_quote to fix http://laconi.ca/trac/ticket/1342
This commit is contained in:
		@@ -184,11 +184,11 @@ class SearchNoticeListItem extends NoticeListItem {
 | 
				
			|||||||
    function highlight($text, $terms)
 | 
					    function highlight($text, $terms)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        /* Highligh search terms */
 | 
					        /* Highligh search terms */
 | 
				
			||||||
        $pattern = '/('.implode('|', array_map('htmlspecialchars', $terms)).')/i';
 | 
					        $pattern = '/('.implode('|', array_map('preg_quote', array_map('htmlspecialchars', $terms))).')/i';
 | 
				
			||||||
        $result  = preg_replace($pattern, '<strong>\\1</strong>', $text);
 | 
					        $result  = preg_replace($pattern, '<strong>\\1</strong>', $text);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* Remove highlighting from inside links, loop incase multiple highlights in links */
 | 
					        /* Remove highlighting from inside links, loop incase multiple highlights in links */
 | 
				
			||||||
        $pattern = '/(href="[^"]*)<strong>('.implode('|', array_map('htmlspecialchars', $terms)).')<\/strong>([^"]*")/iU';
 | 
					        $pattern = '/(href="[^"]*)<strong>('.implode('|', array_map('preg_quote', array_map('htmlspecialchars', $terms))).')<\/strong>([^"]*")/iU';
 | 
				
			||||||
        do {
 | 
					        do {
 | 
				
			||||||
            $result = preg_replace($pattern, '\\1\\2\\3', $result, -1, $count);
 | 
					            $result = preg_replace($pattern, '\\1\\2\\3', $result, -1, $count);
 | 
				
			||||||
        } while ($count);
 | 
					        } while ($count);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user