|
|
Zeman pisze:
Coś mi po głowie stuka, ze byc moze Twoj plugin do Notepada byc moze robi
cos podobnego co moj plugin do mojego edytora PHP.. ciekawe.
No tak he he, nie może nic innego robić :-). Dałbyś link to chętnie
zerknę. Plugin ma przede wszystkim takie zalety że uzmysławia ludziom że
PHP to nie tylko język do robienia stron. Choć to podstawowa jego
powinność. To niesamowite narzędzie w codziennej pracy. Posłużę się
przykładem np masz obrobić jakiś tekst ( unit czy zestaw procedur, czy
np strumień danych z bazy danych czy ściągnięta stronę internetową do
wydobycia danych. Masz pomysł aby zrobić to z pomocą wyrażeń regularnych.
Jest owszem wiele narzędzi używających wyrażeń ALE właśnie ALE, wyobraź
sobie ile czynności trzeba zrobić aby wklepać kolejne wzory wyrażeń w
niewygodne często małe i z nieczytelna czcionką okienka edycyjne modułów
szukania i zamiany.
W Notepadzie masz wielozakładowy edytor, dostep do każdego ze skryptu,
robisz to jednym właściwie poleceniem np
preg_replace(tablica wzorów, tabica zamian, tekst zamieniany)
i działa to bardzo szybko w PHP5 dzieje sie to błyskawicznie osiągasz to
co godzinami byś wklepywał w okienka.
Ja tak pieję bo moim ulubionym konikiem jest obróbka tekstów :-).
To tylko jeden przykład, jest ich bardzo dużo. Choćby wspomnę tylko że
chciałem włożyć pełną listę komend z argumentami PHP do systemu
podpowiedzi. Ściągnąłem plik manuala PHP ( po rozpakowaniu chyba miał 27
MB tekstu w jednym HTML) krótkim poleceniem z wyrażeniami
wy-exrachowałem listę poleceń. Plik obrabiał sie moment.
3. System debugowania do tego IDE też by się przydał.
Ja kiedys badalem temat jak chcialem wprowadzic debugowanie do mojego
edytora... jest jedna fajna biblioteka do debugowania, chyba nawet z niej
korzysta Codegear Delphi for PHP. Fatalnie natomiast z dokumentacja tejze.
http://forum.php.pl/index.php?showtopic=67002&hl=
Ciekawe zobaczę :-).
pozdrówka
AK
ps : dla ciekawych wklejam ten skrypt, wiele tam mozna poprawić ale ja
osiągnąłem to co chciałem :
<?php
// this is ToDo for create Apis files with instructions to PHP
// downloaded from
pl2.php.net/distributions/manual/php_manual_en.html.gz">http://pl2.php.net/distributions/manual/php_manual_en.html.gz
$filename="C:\\Documents and Settings\\wj\\Pulpit\\bightml.html";
$text=file_get_contents($filename);
$pattern="|<div class=\"methodsynopsis dc-description\">.+</div>|Usi";
preg_match_all($pattern, $text, $subpatterns);
foreach ($subpatterns[0] as $key=>$item) {
print ClearHTMLTag($item) ."\n"; }
// koniec skryptu
// funkcja pomocnicza
function ClearHTMLTag($content) {
$search = array ("'<script[^>]*?>.*?</script>'si", // Strip out
javascript
"'<[\/\!]*?[^<>]*?>'si", // Strip out html tags
"'([\r\n])[\s]+'", // Strip out white space
"'&(quot|#34);'i", // Replace html entities
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&(middot|#183);'i",
"'&#(\d+);'e",
"'\r\n|\r|\n'msi",
"'\s+'msi");
$replace = array ("",
" ",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
chr(183),
"chr(\\1)",
"",
" ",);
return preg_replace ($search, $replace, $content);
}
?>
|
|