utilitka nbsp

From: Spock (spock@bfs.cz)
Date: 20. 02. 2000, 14:09 CET


takze tady je ten "slozitej program". ;-)) je to konzolovka (de facto
dosova), takze trocha instrukci pro mene znale a zacinajici :))

lze to spoustet rovnou, treba z prikazoveho radku win nebo z dosu.
nejlepsi asi bude dat si nbsp.php do adresare php, aby se u nej
nemsela psat path. neni samozrejme treba to hnat pres server.
php3 for win muze interpretovat scripty rovnou z command line.
pozor na unixech, tam musi byt php pro tento ucel zkompilovano.

syntaxe:

[path]php3 -q [path]nbsp.php <source> [<destination>]

priklad: php3 -q nbsp.php d:/neco/myfile.txt d:/neco/myfile_n.txt

jste-li v dosu v adresari php a mate v nem nbsp.php, tak muzete
vynechat path pro php3 i nbsp.php. v prikazovem radku win (run)
muzete vynechat path u nbsp.php (opet mate-li jej v adresari php).

-q je parametr, ktery potlaci vystup headeru content-type na konzolu.
kdyz tam ale nebude, nic se nestane. jenom se vypise ten header.
<source> je pathname souboru, ktery chcete upravit, <destination>
je optional pathname souboru do ktereho se ulozi vysledek. pokud
ale destination chybi, prepise se _bez ptani_ source. pokud source
chybi nebo neexistuje, vypise se chybova hlaska a ceka se 10 sec.,
aby ji bylo mozno precist v dosovem okne, nez se zavre. v obou
parametrech <source> i <destination> muzete psat vsechny paths
s normalnimi lomitky "/" nebo po DOSovsku, jak je libo... :) php si
to prezvejka.

POZOR -  nahrazuje to mezery za znaky "aikosuvz" (mala i velka)
a  _pouze_  v sekvenci <space><znak><space>. takze kdyz mate
v puvodnim souboru nejakou predlozku nasledovanou treba tvrdym
koncem radku, tak se na ni vykasle. stejne tak, mate-li (chybne)
treba sekvenci <tecka><znak><space>. je to tak zamerne, podle
mych potreb. :) a je to vlastne jenom kostra. kdo bude chtit, udela
si z toho (nebo spise misto toho) chytryho typografa, kterej takovy
chyby rovnou opravi. :))

dejte taky pozor na ruzne zalomeni radku scriptu v mailu. kazdej
mailer si to zalomi podle svyho. zde jsou vsechny radky scriptu cele
a taky jsem z tehoz duvodu nedelal zadne odsazovani.

znalci me doufam neproklejou za spousty zbytecnejch reci, ale ze
zkusenosti vim, ze bych to stejne musel psat do odpovedi na maily
zvedavejch newbies. ;-)) tak je to radeji rovnou zde.

Bye, Spock.

========================================
<? # nbsp.php - spock 2000 a.d.
error_reporting(1);
$c=count($argv);
$msg="File parameter bad or missing !";
if ($c<2):
echo"$msg\nSyntax: php3 -q <sourcefile> [<destfile>]\n";
sleep(10); exit();
endif;
$src=$argv[1];
$dst=($c>2)?$argv[2]:$src;
if (!file_exists($src)):
echo"$msg\nFile: $src not found.\n";
sleep(10); exit();
endif;
$sf=file($src);
for($i=0;$i<count($sf);$i++) $df[]=eregi_replace(" ([aikosuvz]) "," \\1&nbsp;",$sf[$i]);
$fh=fopen($dst,"w");
for($i=0;$i<count($df);$i++) fputs($fh,$df[$i]);
fclose($fh); unset($sf); unset($df);
echo"$i lines ok processed\n"; sleep(3); ?>
========================================



This archive was generated by hypermail 2.1.2 : 03. 09. 2001, 23:22 CEST