Ответы пользователя по тегу Веб-разработка
  • Что исправить в скрипте?

    @sdo
    Понимаю, что изврат, но как рак на безрыбье..
    Рег честно стырен с просторов интернета, рекомендую в нем подкрутить обязательность протокола http:// и еще не начинать статей со ссылок - ucfirst честно сделает Вам Http://
    function TCR_CL_replace_content($content)
    {
    	$regex = "/(\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|])/i";
    	$content=preg_replace_callback( $regex , function($m){return str_replace('.',chr(0),$m[1]);} , $content);
    	$content=preg_replace_callback( '|(?:\.)(?:\s*)(\w{1})|Ui'
    		,function($matches){ return ". ".strtoupper($matches[1]);}
    		,ucfirst($content)
    		); 
    	$content= str_replace(chr(0),'.',$content);
    	return $content;
    }


    Считаю необходимым дополнить один момент. Надо учитывать кодировку исходного текста. Для utf8 например, скрипт будет работать некорректно. Для работы с utf-8 необходимо будет добавить модификатор u в вашу регулярку, добавить mb_internal_encoding и заменить strtoupper на mb_strtoupper. Также следует вычислять символ для временной подстановки динамически, на основании факта что его нет в исходном контенте.
    Ответ написан
    Комментировать