PHP regex replace white space by   if it is following single letter

前端 未结 4 1302
无人共我
无人共我 2021-01-14 02:45

I have user defined string (html formated string to be saved and used in web) and need to find a way to replace each white space which is right after a single letter by

相关标签:
4条回答
  • 2021-01-14 03:20
    preg_replace('/(?<=\b[a-z]) /i', '&nbsp;', $s);
    

    The regular expression here performs a positive lookbehind which ensures that the space is preceded by a single letter and a word boundary.

    0 讨论(0)
  • 2021-01-14 03:20

    without regex

    $str = "this is a string" ;
    $s = explode(" ",$str);
    foreach ($s as $i => $j){
        if (strlen($j)==1){
            $s[$i]="$j&nbsp;";
        }
    }
    print_r ( implode(" ",$s) );
    
    0 讨论(0)
  • 2021-01-14 03:22

    To preserve the white spaces and line breaks for a text originating from a database:

    <pre>
    echo nl2br(str_replace(' ','&nbsp', stripslashes( database_string )));
    <pre>
    
    0 讨论(0)
  • 2021-01-14 03:25
    <?php
    
    $str = 'your string';
    
    $str = preg_replace(array('/ ([a-zA-Z]) /', '/^([a-zA-Z]) /', array(' $1&nbsp;', '$1&nbsp;'), $str);
    
    ?>
    

    Should do the trick.

    0 讨论(0)
提交回复
热议问题