• На английском работает, на русском нет. Проблема с preg_match_all

    @Monaxxx
    Добавил функцию

    function fixEncoding($s, $encoding = 'UTF-8') {   
        $s = @iconv('UTF-16', $encoding . '//IGNORE', iconv($encoding, 'UTF-16//IGNORE', $s)); 
        return str_replace("\xEF\xBB\xBF", '', $s);
    }
    

    в твой код

    function summarize($haystack, $needle, $wordLimit = 5) {
    
        $haystack = fixEncoding($haystack);
        $needle = fixEncoding($needle);
        // first get summary of text around key word (needle)
        $preg_safe = str_replace(" ", "\s", preg_quote($needle));
    
        $pattern = "/(\w*\S\s+){0,$wordLimit}\S*\b($preg_safe)\b\S*(\s\S+){0,$wordLimit}/iux";
        if (preg_match_all($pattern, $haystack, $matches)) {
            $summary = str_replace(strtolower($needle), "<strong>$needle</strong>", $matches[0][0]) . '…';
        } else {
            $summary = false;
        }
    
        return $summary;
    }
    


    Работает
    Ответ написан
    Комментировать
  • С чего лучше начинать программировать?

    @Monaxxx
    Начинай с Hello World, а там как дальше пойдет.
    Ответ написан
    Комментировать
  • Как защитить сайт от SQL-инъекций? Атакуют, заливают шеллы и всякую гадость. Нужен сканер

    @Monaxxx
    Если заливают шеллы, проверити все формы с соответствующим тегом для заливки файлов

    <input type="file" />
    

    Посмотрите как там обрабатывается файл, если ли ограничения, если нет, по организуйте.
    И потихонечку проверяйте файл за файлом, на входные данные и организуйте соответствующую обработку этих данных.

    Но если это все накладно, адаптируйте какой нить движок (CMS,CMF,FW) под вашу базу, руководствуясь важность избавится об багов и затрат на адаптацию движка.
    Ответ написан
    Комментировать