PHP tarafından beyaz boşluk yerine Regex

4 Cevap php

Ben kullanıcı tanımlı dize (kaydedilir ve web kullanılacak html format dize) ve sağ   tarafından tek bir harf sonra her beyaz alanı değiştirmek için bir yol bulmalıyız.

Örneğin "this is a string" olmak "this is a string", gerektiği

"bla bla b l abla b la blabla" "bla bla b l abla b la blabla" ... vb olmalıdır ..

4 Cevap

preg_replace('/(?<=\b[a-z]) /i', '&nbsp;', $s);

Burada düzenli ifade uzay tek bir harf ve kelime sınırından öncesinde sağlayan bir positive lookbehind hangi gerçekleştirir.

regex olmadan

$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) );
<?php

$str = 'your string';

$str = preg_replace(array('/ ([a-zA-Z]) /', '/^([a-zA-Z]) /', array(' $1&nbsp;', '$1&nbsp;'), $str);

?>

Hile yapmak gerekir.

Bir veritabanından kaynaklanan bir metin için beyaz boşluk ve satır sonlarını korumak için:

<pre>
echo nl2br(str_replace(' ','&nbsp', stripslashes( database_string )));
<pre>