Autor Zpráva
Datel
Profil *
Zdravím,
pokoušel jsem se napsat funkci, která by v zadaném textu nahradila obyčejné mezery za jednopísmenými předložkami mezerami pevnými. Problém je, že nefunguje s textem, který je v textaree vložen defaultně již při načtení stránky...

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 </head>
 <body>

<?php
  if(empty($_POST["obsah"]))  $obsah="Zítra bude větrno a z toho můžeme odvodit i nižší denní teploty.";
  else  $obsah=$_POST["obsah"];
  
  $patterns = array ("/ (.) /i","/&nbsp;(.) /i");
  $replace = array (" $1&nbsp;","&nbsp;$1&nbsp;");
  $obsah=preg_replace($patterns, $replace, $obsah);
  
  echo $obsah; 
?>


<form method="POST" action="pokus.php">
<textarea name="obsah"><?php echo $obsah; ?></textarea>
<input type="submit" value="Zpracuj!">
</form>

  </body>
</html>


Nevíte čím to může být, popřípadě, jak to obejít?
Předem děkuji za radu..
Majkl578
Profil
Co takto?

$data = 'Zítra bude větrno a z toho můžeme odvodit i nižší denní teploty.';

$data = preg_replace(array('~ ([aikouvz]) ~iu', '~&nbsp;([aikouvz]) ~iu'), array(' $1&nbsp;', '&nbsp;$1&nbsp;'), $data);

echo $data;
Datel
Profil *
problém bohužel přetrvává...
Když text, který je načten do textarei, zkopíruji a opět ho tam vložím, náhrada se provede, ale pokud tam nechám text načtený při naloadování stránky, nic to s ním neudělá.

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: