Autor Zpráva
kachnak
Profil
Zdravím.
príkaz Trim mi oreže biele znaky iba zo začiatku a z konca reťazca.
Existuje nejaký príkaz ktorý vymaže biele znaky aj zo stredu reťazca, alebo si musím vymysleť vlastnú fuknciu?
Napríklad dve medzeri vedla seba atd.
Ďakujem.
Taps
Profil
kachnak:
máš na mysli vymazat mezery mezi slovy ?
kachnak
Profil
no že ak sú medzeri dve, tak nechá jednu
ja nato používam toto, ale asi to nieje správne riešenie:

nahrádza veľa medzier za jednu
$x=10;while($x>0)
{$text=str_replace("  "," ",$text);$x--;}


nahrádza veľa ENTEROV za maximálne dva po sebe
$x=10;while($x>0)
{$text=str_replace("\r\n\r\n\r\n","\r\n\r\n",$text);$x--;}
kachnak
Profil
to aby som mal poriadok vo fóre, lebo užívatelia dávajú veľa enterov a zbytočne to predlžuje príspevok.
Yur4Y
Profil
kachnak:
To si mohol napísať hneď v prvom príspevku a tak sa vyhnúť otázkam ako napríklad od Tapsa. Čo niečo takéto?
$text = preg_replace("/(\r?\n){2,}/", "\n", $text);
lordfrikk
Profil
Yur4Y:
Tohle akorát odstraní nadbytečné zalomení řádku, nikoli mezery.

kachnak:
<pre>
<?php
$text = 'bla        bla bla bla   bla';
echo $text . '<br />';
$text = preg_replace("/\040+/", "\040", $text);
echo $text;
?>
</pre>


Pokud bys chtěl odstranit z textu veškeré bílé znaky (bez nahrazování), tak:

$text = preg_replace("/\s+/", "", $text);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: