Проставить точки в конце строки

Тема в разделе "PHP", создана пользователем blackspy, 31 мар 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. blackspy

    blackspy

    Регистр.:
    11 мар 2007
    Сообщения:
    415
    Симпатии:
    141
    Нужен скриптик который поставить точку в конце строки, точка не должна ставится если строка заканчивается на . ... ! ? …
    PHP:
    …
    PHP:
    …
     
  2. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    сваял на быструю руку, так что возможны ошибки:ah:

    PHP:
    function add_point($text){
        
        
    $len_text strlen($text);
        
    $end_z $text[$len_text-1];

        
    $array = array('.''!''?');
        
        if(
    in_array($end_z$array)){
            return 
    $text;
        }
        
        
    $html_arr = array('…');
        
        foreach(
    $html_arr as $str){
            
    $pos =     strrpos($text$str);
             if((
    $pos strlen($str)) == $len_text){
                return 
    $text;
            }
        }
        
    $text .= '.';
        return 
    $text;
    }


    echo 
    add_point("Текст текст текст")."\n";
    echo 
    add_point("Текст текст текст!")."\n";
    echo 
    add_point("Текст …  текст текст…")."\n";


     
    blackspy нравится это.
  3. blackspy

    blackspy

    Регистр.:
    11 мар 2007
    Сообщения:
    415
    Симпатии:
    141
    В пхп я 0
    Я думал будет скриптик, который я запускаю в дире со скриптом файлик input.txt получаем output.txt файлик 5 мг.
     
  4. Miraage

    Miraage Angular/Laravel

    Регистр.:
    3 июн 2008
    Сообщения:
    230
    Симпатии:
    51
    Это по идее скрипт - выбираешь файл > оно тебе создаст в той же папке файл output.txt с добавленными точками.

    (не отлаживал скрипт)

    PHP:
    <?php
    function addPoint( &$line )
    {
        
    $last $linestrlen$line ) - };
        if ( ! 
    in_array$last, array( '.''?''!' ) ) )
        {
            
    $last .= '.';
        }
    }

    if ( ! empty( 
    $_FILES ) )
    {
        
    $data $_FILES'f' ];
        
    $tmp $data'tmp_name' ];
        if ( 
    file_exists$tmp ) )
        {
            if ( 
    $data'type' ] != 'text/plain' )
            {
                die( 
    'Incorrect file. <a href="'.getenv('REQUEST_URI').'">Retry</a>' );
            }

            
    $lines array_map'trim'file$tmp ) );
            
    $lines array_map'addPoint'$lines );
            
    $content join"\n"$lines );
            
            
    // Output fname here
            
    $outName dirname(__FILE__).'/output.txt';
            
    move_uploaded_file$content $outName );
        }
    }
    ?>
    <form method="post">
    <input type="file" name="f" />
    </form>
     
Статус темы:
Закрыта.