Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Вниз

А что лучше Perl или PHP   Найти похожие ветки 

 
Loginov Dmitry ©   (2006-01-23 20:12) [0]

... для начинающего Web-программиста.
Никак не выберу для себя, какой из них лучше.


 
Nous Mellon_   (2006-01-23 20:12) [1]

php


 
Kerk ©   (2006-01-23 20:13) [2]

perl


 
ferr ©   (2006-01-23 20:16) [3]

php


 
Loginov Dmitry ©   (2006-01-23 20:26) [4]

2 vs 1

Значит php лучше :))


 
Kerk ©   (2006-01-23 20:31) [5]

Будущее за python
Запомните эти мои слова :)


 
Loginov Dmitry ©   (2006-01-23 20:36) [6]


> Kerk ©   (23.01.06 20:31) [5]
>
> Будущее за python
> Запомните эти мои слова :)


Че за зверь такой? :)

"Иногда содержимое Perl-программ выглядит для непосвященных как случайный набор символов, но, естественно, он имеет контрольную сумму, а каждый его символ — свое назначение." (c)

Пример:
---------------------------
...
$value =~ s/<([^>]|\n)*>//g;
...
---------------------------

Как это вообще может работать?


 
ferr ©   (2006-01-23 20:36) [7]

ASP.NET одназначно :)


 
quasiMODE   (2006-01-23 20:46) [8]

ruby


 
Lamer@fools.ua ©   (2006-01-23 23:18) [9]

>А что лучше Perl или PHP
... для начинающего Web-программиста.


HTML + JavaScript.
Дальше в зависимости от личных предпочтений и производственной необходимости: PHP, Perl, Python, ASP.NET etc.


 
Gero ©   (2006-01-23 23:48) [10]

> [9] Lamer@fools.ua ©   (23.01.06 23:18)

Полностью поддерживаю [9].


 
isasa ©   (2006-01-24 01:04) [11]

А что бы ни было - PHP, Perl, Python, ASP.NET etc.
Все равно, мимо того, что приходит клиенту(HTML + JavaScript(VBScript)), не проскочишь


 
vidiv ©   (2006-01-24 06:34) [12]

PHP.

> Loginov Dmitry ©   (23.01.06 20:36) [6]
> Пример:
> ---------------------------
> ...
> $value =~ s/<([^>]|\n)*>//g;
> ...
> ---------------------------
>
> Как это вообще может работать?

Так это регулярка написана. Тут язык то и не причем, имхо.


 
Calm ©   (2006-01-24 10:27) [13]

PHP.
1. Проще для восприятия
2. Более распространен сейчас. Хотя Perl еще востребован.


 
umbra ©   (2006-01-24 10:42) [14]

я бы посоветовал Perl. Он не сложнее PHP, но более универсален. Хотя, кончно, сейчас PHP есть практически у любого хостера, а Perl встречается реже.
для cgi на перл должен быть сервер Апач с perl_mod. На IIS можно поставить  Activestate PerlScript.


 
McSimm ©   (2006-01-24 10:59) [15]


> Пример:
> ---------------------------
> ...
> $value =~ s/<([^>]|\n)*>//g;
> ...
> ---------------------------
>
> Как это вообще может работать?

практически точно также как и в PHP :) см. preg_replace
неудачный пример просто привел. у меня под рукой нет, но есть действительно конструкции - супер.


> я бы посоветовал Perl. Он не сложнее PHP, но более универсален.

он действительно сложнее PHP. и универсальность его - вопрос спорный.

Язык может считаться законченным только тогда, когда в его синтаксисе задействованы все символы на клавиатуре.
(с) Ларри Уолл

:)

Для Web (тем более для начинающего в Web) считаю PHP лучше.

( Но Perl - классная вещь ! :)


 
Думкин ©   (2006-01-24 11:06) [16]

> McSimm ©   (24.01.06 10:59) [15]

А Паскаль язык какой?
Вот есть на клавиатуре ~
По сути, знающий Perl, поймет PHP по нисходящей.
Хотя "знать" их по-моему, несколько отличное от того, что знать - Паскаль.
Но не Дельфи с компонентами. По суи там ведь знание небазовых возможностей, а библиотек и дает силу.


 
McSimm ©   (2006-01-24 11:18) [17]


> Думкин ©   (24.01.06 11:06) [16]

Что значит какой? В каком смысле?
Приходит на ум - очень правильный. Сколько языков испробовал - Паскаль любимый (хоть и не приходится пользоваться уже давно)

Знание Perl на мой взгляд никак не отразится на понимании PHP. Ничего кроме практики и внимательности к документации для понимания PHP не надо.
Умение писать Web-приложения на "чистом" Perl имеет полезное следствие - будешь знать подробности о HTTP протоколе.
Perl хорош (для меня) тем, что доставляет эстетическое удовольствие от крачивых решений.

Проблема незнания тонкостей, "компонентокидания", присуща всем трем.
Но при серьезной работе все три накажут за это.


 
Думкин ©   (2006-01-24 11:24) [18]

> McSimm ©   (24.01.06 11:18) [17]

В свете фразы:

> Язык может считаться законченным только тогда, когда в его  синтаксисе задействованы все символы на клавиатуре.
> (с) Ларри Уолл


%)

Я тоже по поводу Паскаля. разделяю твое мнение. Красивейший язык. И лично для меня - самый удобный. если есть задача - то на нем я ее отдаю, обычно быстрее, чем при использовании другого. Если кодирую.

Про PHP - так и есть. Во-всяком случае, несколько вещей, которые я там сделал - ничего более и не требовали. Чтение, чтение и еще раз чтение - внимательное. Но мне он не понравился. Хотя для создания сайта под Юникс - выберу его. Но это пока не вполне моя тема. Чайник.


 
McSimm ©   (2006-01-24 11:38) [19]


> В свете фразы:

Ларри Уолл - автор Perl. И сказанное им было шуткой, я счел ее уместной в данной теме :)


 
Думкин ©   (2006-01-24 11:42) [20]

> McSimm ©   (24.01.06 11:38) [19]

Ну я и спросил. :) Уместно, конечно.


 
quasiMODE   (2006-01-24 11:49) [21]

Про перл.

In fact, a big part of learning Perl is actually learning how Larry thinks.[24] Therefore, once you can think like Larry does, you know what Perl should do. But while you"re learning, you"ll probably need to look into the documentation.

[24] This is only fair, since while writing Perl he tried to think like you do to predict what you would want!


 
DSKalugin ©   (2006-01-24 13:14) [22]

Выбирай ПХП, однозначно!!!
В свое время я тут задавал вопрос что учить дял вебпрограммирования
ПХП или АСП? Мне порекомендавали ПХП. Очень рад что выбрал правильное направление.

Для сравнения ПХП и Перл следует провести такой анализ
1 - динамика развития языка(регулярность выхода новых версий, добавление новых функциональных возможностей, поддержка современных технологий и т.д.)
2 - наличие и гибкость функций/модулей для работы с современными СУБД
3 - наличие хороших средств разработки/отладки
4 - распространенность / востребованность специалистов
4 - прочие удобства

Кто осмелится сравнить по такой схеме?


 
DSKalugin ©   (2006-01-24 13:15) [23]

...... чтобы не быть голословным


 
Думкин ©   (2006-01-24 13:17) [24]

> DSKalugin ©   (24.01.06 13:15) [23]

а про ASP ведь ты тут вопрос задавал, а не про Perl. А тут сравнить?


 
DSKalugin ©   (2006-01-24 13:27) [25]

Я перл вообще в расчет не брал, когда для себя этот вопрос решал.
Он менее востребован, хотя и универсальней. А ПХП создан именно для веба


 
Alex Konshin ©   (2006-01-24 13:30) [26]

Все что угодно, но только не Perl.
Более неподходящего языка для будущей поддержки еще нужно поискать.
Perl можно использовать только для одноразовых утилиток, потому что уже через  месяц ты будешь гадать, что это такое и твой ли это код. Дело даже не в комментариях, а в извращенном синтаксисе. Очень много контекстных зависимостей, неявных преобразований и жутких сочетаний символов с неким тайным смыслом. Можно подумать, что при написании сколько-нибудь значиетельного объема есть необходимость бороться за каждый символ исходного кода. Самое смешное, что исходный код все равно компилирется целиком перед исполнением и потому совершенно нет никакого смысла в этой экономии.
Если код написан каким-то любителем perl и размер приличный - почти 100% труба дело.


 
Думкин ©   (2006-01-24 13:42) [27]

> Alex Konshin ©   (24.01.06 13:30) [26]

Так и PHP также.
В ноябре закончил издеваться над одним проектом. Так не покидала мысль, что используй я, ну Дельфи, для той же задачи - то сделал бы намного быстрее - раза в 2 минимум. Борьба была не сколько с задачей, сколько с кодом.


 
Gero ©   (2006-01-24 13:45) [28]

> не покидала мысль, что используй я, ну Дельфи, для той же
> задачи - то сделал бы намного быстрее - раза в 2 минимум.

Так, вероятно, опыта работы с Delphi тоже поболее будет?


 
Думкин ©   (2006-01-24 13:46) [29]

> Gero ©   (24.01.06 13:45) [28]

Безусловно. Но сейчас вот Х++ издеваю - такого напряжения не испытываю.


 
vidiv ©   (2006-01-24 14:55) [30]


> Думкин ©   (24.01.06 13:42) [27]
> Так и PHP также.
> В ноябре закончил издеваться над одним проектом. Так не
> покидала мысль, что используй я, ну Дельфи, для той же задачи
> - то сделал бы намного быстрее - раза в 2 минимум. Борьба
> была не сколько с задачей, сколько с кодом.

Разобратся в чужом коде, порой сложнее, чем реализовать самому. А вообще если использовать Zend Studio в качестве среды отладки - то разобраться будет куда проще. Вещь хорошая, но тормознутая черезчур :(


> DSKalugin ©   (24.01.06 13:27) [25]
> Я перл вообще в расчет не брал, когда для себя этот вопрос
> решал.
> Он менее востребован, хотя и универсальней. А ПХП создан
> именно для веба

Писал на php многопоточный демон для чата (под Win, с самописным модулем на Delphi). По сути простой веб-сервер. Даже не знаю что может быть еще универсальнее.


 
McSimm ©   (2006-01-24 15:05) [31]

PHP действительно был создан (исторически) именно для WEB и в большинстве случаев для этого применяется (с блеском - очень много полезного), но разумеется этим его применение не ограничивается - возможности весьма широкие.
Perl - если на то пошло тоже просто язык генерирования отчетов :)


 
umbra ©   (2006-01-24 15:51) [32]

2 McSimm ©   (24.01.06 15:05) [31]


> Perl - если на то пошло тоже просто язык генерирования отчетов
>

когда появился впервые - да. а теперь - вовсе нет


 
umbra ©   (2006-01-24 15:53) [33]

2 vidiv ©   (24.01.06 14:55) [30]


> Даже не знаю что может быть еще универсальнее.


Perl :)


 
McSimm ©   (2006-01-24 15:58) [34]


> когда появился впервые - да. а теперь - вовсе нет

я именно это и имел в виду.


 
DSKalugin ©   (2006-01-24 16:08) [35]

2 umbra ©

такая универсальность тут и даром не нужна!
Си - вообще самый универсальный, но это не значит, что все всё побросали и начали писать сайты только на Си.

Речь идет о Web-программировании. Соответственно и рассматривать языки надо с точки зрения удобства их применения в этом направлении

Напримепр, в ПХП есть готовые массивы $_POST[], $_GET[], которые содержат передаваемые параметры, например
/forum.pl?id=1138036328&n=3&from=29

$id=$_GET["id"];    //=1138036328
$n=$_GET["n"];     //=3
$from=$_GET["from"];   //=29


то в Перле, насколько мне известно, эти параметры надо парсить вручную


 
McSimm ©   (2006-01-24 16:13) [36]


> DSKalugin ©   (24.01.06 16:08) [35]


На самом деле Perl имеет огромное количество библиотек, с помощью которых можно облегчить работу для любых задач, и для Web тоже.

поверьте - спор "что лучше" бесперспективен изначально.
Все можно сделать "и там и там".

с чем согласен - тексты Perl более тяжелы для восприятия. Даже собственные.


 
vidiv ©   (2006-01-24 16:13) [37]


> Напримепр, в ПХП есть готовые массивы $_POST[], $_GET[],
>  которые содержат передаваемые параметры, например
> /forum.pl?id=1138036328&n=3&from=29
>
> $id=$_GET["id"];    //=1138036328
> $n=$_GET["n"];     //=3
> $from=$_GET["from"];   //=29

Правильнее будет так:
$id = isset($_GET["id"])?(get_magic_quotes_gpc()?stripslashes($_GET["id"]):($_GET["id"])):false;

Считаю, что эти самые magic_quotes - лишняя головная боль :(


 
umbra ©   (2006-01-24 16:22) [38]


> в Перле, насколько мне известно, эти параметры надо парсить
> вручную


в перле - это однажды написанная функция из нескольких строчек, которую можно применять где угодно. Кроме того, я уверен, что есть уже и готовый модуль для этого.


 
Loginov Dmitry ©   (2006-01-24 16:25) [39]

А есть ли какая-нибудь IDE для работы с PHP, или единственная IDE это блокнот?


 
ZeroDivide ©   (2006-01-24 16:34) [40]

Мне перл очень не нравится, но я на нем пишу.


 
ZeroDivide ©   (2006-01-24 16:35) [41]

Хотя когда у меня был такой же выбор, я предпочел именно перл... повелся на уиверсальность...


 
vidiv ©   (2006-01-24 16:39) [42]


> Loginov Dmitry ©   (24.01.06 16:25) [39]

Zend Studio


 
McSimm ©   (2006-01-24 16:48) [43]


> Zend Studio

дороговат для начинания.
точно есть бесплатные и удобные (может чуть менее) аналоги.


 
DSKalugin ©   (2006-01-24 16:50) [44]

PHP Expert Editor


 
cyborg ©   (2006-01-24 16:52) [45]

[39] Loginov Dmitry ©   (24.01.06 16:25)
Лично я пользуюсь PHP Expert Editor-ом
http://www.ankord.com/
Шароварный, но для экс СССР бесплатно ключик дают, по крайней мере давали, мне тоже прислали :).


 
cyborg ©   (2006-01-24 16:52) [46]

[39] Loginov Dmitry ©   (24.01.06 16:25)
Лично я пользуюсь PHP Expert Editor-ом
http://www.ankord.com/
Шароварный, но для экс СССР бесплатно ключик дают, по крайней мере давали, мне тоже прислали :).


 
umbra ©   (2006-01-24 16:52) [47]

ActiveState Komodo


 
cyborg ©   (2006-01-24 16:53) [48]

Да что такое, по два раза отсылается.
Извините.


 
McSimm ©   (2006-01-24 16:55) [49]


> ActiveState Komodo

кажется он еще дороже чем Zend. И если не нужна многоязычность, то преимуществ особых не имеет. На мой взгляд.


 
umbra ©   (2006-01-24 16:58) [50]

тридцать дней триал бесплатно без оганичения функциональности. не понравится - можно выбросить


 
McSimm ©   (2006-01-24 17:04) [51]


> umbra ©   (24.01.06 16:58) [50]
>
> тридцать дней триал бесплатно без оганичения функциональности.
>  не понравится - можно выбросить


Угу, триалил. Но выбрал Zend.
кстати, совершенно случайно, не знаешь ли - можно ли Komodo использовать как отладчик PHP под FreeBSD ? Просто по заявленному - вроде должен, но я сколько ни мучался - не смог. И саппорт ничего по этому поводу так и не сказал.


 
umbra ©   (2006-01-24 17:26) [52]

как удаленный отладчик? или на машине с FreeBSD ?


 
vidiv ©   (2006-01-24 17:31) [53]


> McSimm ©   (24.01.06 16:48) [43]

Ну в можно и крякнуть, но мне он не нравится по той причине, что он тормозит. Сам пользуюсь дримвьювером, в данном случае практически "цветной блокнот".
А отладку делаю через з..., с помощью print_r и var_dump ов. Еще есть удобная вещь в php5 - это stacktrace при исключениях.


 
McSimm ©   (2006-01-24 17:34) [54]


> или на машине

на машине с FreeBSD, как локальный отладчик.
не понимает он FreeBSD-ного PHP, во всяком случае мне не удалось его приучить.

Zend, правда тоже (говорят четверку удавалось поставить нормально), но Zend вполне официально не поддерживает FreeBSD (клиентская часть).
Вот я и пытался, думал может Komodo удастся.

Впрочем, это уже наверное не важно.


 
Loginov Dmitry ©   (2006-01-24 17:42) [55]


> cyborg ©   (24.01.06 16:52) [46]


По описанию программа так ничего... Пожалуй ее я и скачаю.


 
McSimm ©   (2006-01-24 17:44) [56]


> можно и крякнуть

ну, просто я не считаю, что это стоит советовать другим
кстати, у меня совсем не тормозит (v5.0), а 5.1 (еще не смог скачать) говорят еще улучшила perfomance


> есть удобная вещь в php5 - это stacktrace

для PHP4 тоже хватает средств, debug_backtrace к примеру.
Иногда действительно полезен отладчик. И уж чего совершенно точно не хватает - профайлера. Но это только в professional. Мне пока не светит.


 
cyborg ©   (2006-01-24 17:47) [57]

А для проверки написанного советую Денвер
http://denwer.ru

Там сразу всё включено и МуSQL тоже, установил, создал папочку, запускаешь, и работаешь (проверяешь, запускаешь скрипты) как с сайтом.


 
cyborg ©   (2006-01-24 17:47) [58]

А для проверки написанного советую Денвер
http://denwer.ru

Там сразу всё включено и МуSQL тоже, установил, создал папочку, запускаешь, и работаешь (проверяешь, запускаешь скрипты) как с сайтом.


 
Kerk ©   (2006-01-24 19:08) [59]

Лучшая IDE - это Far+Colorer
И Апач кроме крайних случаев на винде нафиг не нужен, IIS есть.


 
Loginov Dmitry ©   (2006-01-24 22:29) [60]

Что за зверь такой IIS?
:)


 
Lamer@fools.ua ©   (2006-01-24 22:36) [61]

>Что за зверь такой IIS?

Control Panel | Add or Remove Programs | Add/Remove Windows Components


 
vidiv ©   (2006-01-25 02:55) [62]


> Loginov Dmitry ©   (24.01.06 22:29) [60]
> Что за зверь такой IIS?
> :)

MS Internet Information Server насколько я помню. HTTP FTP и пр. в одном лице


 
DVM ©   (2006-01-25 10:25) [63]

Без разницы если начинать с нуля. Если не с нуля, то имхо php лучше.


 
Loginov Dmitry ©   (2006-01-27 16:44) [64]

PHP действительно - СУПЕР! Всего один день понадобился для изучения этого языка, чтобы написать с нуля гостевую книгу (правда на ее написание тоже день ушел). Язык на самом деле очень мощный, но вот непонятно зачем нужно было так тщательно прорабатывать ООП (особенно в PHP5). 100%, что большинством из новых возможностей языка абсолютно никто не пользуется. Единственное, что дают эти новые возможности - почувствовать мощь языка. Но все-равно, это радует :)

А вот что получилось: http://matrix.kladovka.net.ru/guest.php


 
kess   (2006-01-27 16:58) [65]


> Язык на самом деле очень мощный, но вот непонятно зачем
> нужно было так тщательно прорабатывать ООП (особенно в PHP5).


Для разработки сложных модульных текстовых редакторов.


 
Loginov Dmitry ©   (2006-01-27 17:15) [66]


> Для разработки сложных модульных текстовых редакторов.


И все? Маловато :)


 
_silver ©   (2006-01-27 21:03) [67]

Loginov Dmitry ©   (27.01.06 17:15) [66]
Вот твоя гостевая и поломана( немного:))
javascript - надо запретить.

Заходим щас в гостевую и видим приветлевое сообщение
"123":)

Дальше копаться не стал.


 
Loginov Dmitry ©   (2006-01-27 21:11) [68]


> _silver ©   (27.01.06 21:03) [67]


Офигеть!!! И много таких гостевых в Инете, которые вот так запросто можно поломать?


 
_silver ©   (2006-01-27 21:15) [69]

Loginov Dmitry ©   (27.01.06 21:11) [68]
И много таких гостевых в Инете, которые вот так запросто можно поломать?


Стаистику не составлял.
Все теги в сообщении надо вырезать.
Насчёт рефреша тебе уже в гостевой написали, тоже не надо давать такую возможность.


 
Loginov Dmitry ©   (2006-01-27 21:22) [70]

А как можно вырезать все тэги, кроме например: B, I, U, A?


 
_silver ©   (2006-01-27 21:30) [71]

Loginov Dmitry ©   (27.01.06 21:22) [70]
Ну, например, парсить сообщение и всё с "<" по ">" выкидывать.


 
Loginov Dmitry ©   (2006-01-27 21:41) [72]

Ну совсем разгромили гостевуху :(
Сообщения уже че-то не добавляются.
Как сломали, так и делайте :о)


 
kess   (2006-01-27 21:48) [73]

Loginov Dmitry ©   (27.01.06 21:22) [70]

>А как можно вырезать все тэги, кроме например: B, I, U, A?

Проще делать character escaping, заменяя символы < > и прочие специальные на их хтмл эквиваленты & l t;   & g t; и тп. Для этого есть специальные функции.


 
_silver ©   (2006-01-27 21:50) [74]

kess   (27.01.06 21:48) [73]
Проще делать character escaping, заменяя символы < > и прочие специальные на их хтмл эквиваленты & l t;   & g t; и тп. Для этого есть специальные функции.


Про это ему в гостевой писали - не внял:)


 
kess   (2006-01-27 21:55) [75]

_silver ©   (27.01.06 21:50) [74]

не читал


 
Loginov Dmitry ©   (2006-01-27 21:55) [76]


> _silver ©   (27.01.06 21:50) [74]


А тогда будет не B, а  & l t;B& g t;, что противоречит [70]


 
_silver ©   (2006-01-27 21:59) [77]

Loginov Dmitry ©   (27.01.06 21:55) [76]

Ну, тогда мой вариант.
Да и теги и т.д. не особо в гостевой нужны.


 
_silver ©   (2006-01-27 22:00) [78]

_silver ©   (27.01.06 21:59) [77]
Да и теги и т.д. не особо в гостевой нужны.


Это было про тег b и т.д.


 
Loginov Dmitry ©   (2006-01-28 13:23) [79]

Действительно, проще всего запретить любые тэги. Иначе больно сложно искать парные тэги. Например для тэга


 
Loginov Dmitry ©   (2006-01-28 13:24) [80]

... &ltB&gt


 
Loginov Dmitry ©   (2006-01-28 13:26) [81]

Ну что за фигня? Хочу написать


 
Loginov Dmitry ©   (2006-01-28 13:26) [82]

На ну их нафиг эти тэги :(((((


 
mfender ©   (2006-01-28 13:47) [83]


> Действительно, проще всего запретить любые тэги. Иначе больно
> сложно искать парные тэги. Например для тэга

У php есть такая функция - strip_tags()
Первый параметр - собственно строка, из которой удаляются тэги.
Второй параметр - опционален, в нем перечисляются тэги, которые хочется оставить.
Например,

$text = "<p><a href="#">Текст сообщения из гостевой</a> книги</p>";
echo strip_tags($text, "");

оставит тебе пары и , убрав все остальные тэги.


 
mfender ©   (2006-01-28 13:50) [84]

неправильно написал тэги. их тут не видно...
$text = "<p><a href="#">Текст сообщения из гостевой</a> книги</p>";
echo strip_tags($text, "");


 
Loginov Dmitry ©   (2006-01-28 14:40) [85]

Не, strip_tags() не устраивает. Допустим, есть открывающий тэг В, а закрывающего нет, что тогда? Все последующие сообщения будут выделены жирным шрифтом.


 
McSimm ©   (2006-01-28 15:03) [86]


> Loginov Dmitry ©   (28.01.06 14:40) [85]

Если нет желания стермиться к строгому HTML - просто подсчитайте количество открытых и закрытых тэгов. Добаьте закрывающий в конце сообщения.


 
McSimm ©   (2006-01-28 15:03) [87]

... если не хватает


 
vidiv ©   (2006-01-28 15:09) [88]

http://nepom.ru/text.php
Я сам написал и пользуюсь, функция rn2p_buic_smiles


 
DSKalugin ©   (2006-01-28 15:13) [89]

нет, что тогда?
тогда уберется один открывающий В
вырезаются только сами тэги, а то что внутри них - остается


 
vidiv ©   (2006-01-28 15:14) [90]

Прошу учесть, что при использовании функций учитывается, что текст предварительно преобразован:
$text = trim(preg_replace("/[\r\n]+/s","\r\n", $text));
$text = trim(preg_replace("/[\x01-\x09\x0B\x0C\x0E-\x1F]+/s"," ", $text));


 
vidiv ©   (2006-01-28 15:15) [91]

strip_tags() допускает
<b onmouseover="...">
Можно кукис украсть


 
Loginov Dmitry ©   (2006-01-28 19:17) [92]


> vidiv ©   (28.01.06 15:14) [90]
>
> Прошу учесть, что при использовании функций учитывается,
>  что текст предварительно преобразован:
> $text = trim(preg_replace("/[\r\n]+/s","\r\n", $text));
> $text = trim(preg_replace("/[\x01-\x09\x0B\x0C\x0E-\x1F]+/s",
> " ", $text));


Регулярные выражения для меня пока все равно, что китайская грамота :)


 
kaZaNoVa ©   (2006-01-28 19:18) [93]

PHP


 
Loginov Dmitry ©   (2006-01-28 19:30) [94]


> kaZaNoVa ©   (28.01.06 19:18) [93]
>
> PHP


Спасибо!

-----------------------------------------------------------
Например вот такую конструкцию как можно разобрать:

preg_replace("/[\x01-\x20]*\<(i|u|b|span)(?:\s[^>]*)?\>((?R)|[\x01-\x20]*)\<\/\\1\>[\x01-\x20]*/e", "strlen(strip_tags("$0"))>0?" ":""", $text);


 
vidiv ©   (2006-01-29 10:07) [95]


> Например вот такую конструкцию как можно разобрать:

Ищет в $text пустые теги <i-></i-> <b-></b-> .. <span-></span-> (Минусы надо убрать)  и удаляет их.

А вообще тут описан синтаксис регулярных выражений.
http://ru.php.net/manual/ru/reference.pcre.pattern.syntax.php


 
Loginov Dmitry ©   (2006-01-29 10:14) [96]


> А вообще тут описан синтаксис регулярных выражений.
> http://ru.php.net/manual/ru/reference.pcre.pattern.syntax.
> php


Вот ну надо же! Был я на этом сайте, документацию скачал, а вот этой самой странички не заметил. Спасибо!


 
vidiv ©   (2006-01-29 10:18) [97]


> самой странички не заметил

В Руководстве в формате chm находишь функцию preg_grep, и внизу страницы нажимаешь Пред.


 
Loginov Dmitry ©   (2006-01-29 10:32) [98]


> Книга Jeffrey Friedl"а содержит много обсуждений вопроса оптимизации регулярных выражений


По этим регулярным выражениям написаны целые книги, и чтоб в них разобраться, похоже нужно прочитать хоть одну из них :(


 
vidiv ©   (2006-01-29 10:43) [99]


> Loginov Dmitry ©   (29.01.06 10:32) [98]

Этого мануала достаточно. Для начала просто внимательно прочитай, чтобы знать что вообще можно с помощью них делать, а потом уже эксперементируй


 
Loginov Dmitry ©   (2006-01-30 22:54) [100]

Лучше всего про регулярные выражения пишут на сайте http://phpclub.ru/
Там есть статья, называется "Регулярные выражения, Часть I". Разобраться было действительно несложно.

> McSimm ©   (28.01.06 15:03) [86]

> Если нет желания стермиться к строгому HTML - просто подсчитайте
> количество открытых и закрытых тэгов. Добаьте закрывающий
> в конце сообщения.


С помощью регулярный выражений все становиться гораздо проще. Например для обработки тэга [B] я составил следующий код:

   while (preg_match("/^.*(\[[bB]\].*\[\/[bB]\]).*$/", $message , $regarray)){
     $tmp = $regarray[1];
     $tmp1 = preg_replace("/^\[[bB]\]/", "", $tmp);
     $tmp1 = preg_replace("/\[\/[bB]\]$/", "
", $tmp1);
     $message = str_replace($tmp, $tmp1, $message);
   }

Правда, пришлось заменить угловые тэги квадратными скобками, но так даже лучше.



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.71 MB
Время: 0.045 c
11-1119593161
Trubis
2005-06-24 10:06
2006.02.19
Demo KOLListView


15-1138798659
Влад
2006-02-01 15:57
2006.02.19
Как вам вот такие ГИС проекты


15-1138545375
smus
2006-01-29 17:36
2006.02.19
Назначение процедуры действию динамически созданного компонента


6-1131460316
vishnia
2005-11-08 17:31
2006.02.19
Работа ISAPI DLL


5-1125262102
jack128
2005-08-29 00:48
2006.02.19
Опубликованные события у TPesistent





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский