ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

как перевести javascript в php?

 

1163
Денис @Анатолич
хотелось бы некоторые яваскрипты чата передать в php
но не все так гладко, возникают какие то сбои.
пока не могу разобраться с массивом обработки ББ тегов для форума.
не могу понять почему

// в яваскрипте этот код рабочий.
etags[i]=new Array(/\[b\](.*?)\[\/b\]/g,'<b>$1</b>');i++;

// а если переделать эту же строчку в php
$etags[$i]=Array(/\[b\](.*?)\[\/b\]/g,'<b>$1</b>');$i++;
// то пишут ошибку.
// Parse error: syntax error, unexpected '/', expecting ')' in форум on line номер строчки

насколько я понял PHP не нравится что регулярка вставляется в присвоение значений массиву?
конкретно не нравится вот этот символ '/' ?
можно ли как то обойти эту ошибку?

Отредактировано Анатолич - 22.06.2015
2970
2615
Сергей @Pegass
побуду капитаном - теги - это как раз то, что не надо обрабатывать в PHP)))

1163
Денис @Анатолич
Foggy пишет:

**********

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

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

есть еще текстовая версия, но это не то.
в общем вопрос остается актуальным.

2615
Сергей @Pegass
Анатолич пишет:

Foggy пишет:

**********

не совсем то что нужно. цель не составить регулярное выражение.

цель как раз в этом на PHP регулярки делаются несколько не так как в JS, например в PHP отсутствует ключ глобального поиска
плюс не понятно каким методом ты производишь замену

1163
Денис @Анатолич
Pegass пишет:

Анатолич пишет:

Foggy пишет:

**********

не совсем то что нужно. цель не составить регулярное выражение.

цель как раз в этом на PHP регулярки делаются несколько не так как в JS, например в PHP отсутствует ключ глобального поиска
плюс не понятно каким методом ты производишь замену

ну пока попробовал просто перевести все строчки в регулярках по готовому шаблону из чатовского форума.
Одну строчку привел же в начале в качестве примера.

правда вот думаю а нужны ли там вообще эти регулярки и массивы?
Может попробовать операторами для работы с текстом реализовать. Насколько сильно регулярки нагружают сервак?
Вообще цель сделать индексируемый поисковиками контент.
Обидно иногда, пишешь большие статьи и знаешь что хрен что приндексируется.

в текстовом варианте индексируется. но текстовый вариант люди не читают.
из за этого там почти нулевые ПФ. нет нормальной перелинковки.
И как следствие 100500е позиции в выдаче.

Да и вообще текст там выглядит нелепо из за отсутствия обработки ББ кодов.

Отредактировано Анатолич - 22.06.2015
2615
Сергей @Pegass
Анатолич, вот любишь ты воду лить)))

если для замены ты будешь использовать preg_replace, то
$etags[$i]=Array('/\[b\](.*?)\[\/b\]/','<b>$1</b>');

1163
Денис @Анатолич
Pegass, мерси. Проверить пока не могу. Но по крайней мере не вылазит ошибка.
А вообще насколько сильно регулярки нагружают сервак?
Понятно что все индивидуально, и никто точных цифр знать не может.
ну например 2 тыщи символов текста на страничке и 50 тегов.
за сколько миллисикунд оработаетаются?
С погрешностью +- километр.

2970
удалён @Foggy
Возьми да проверь. Создай абстрактного коня в вакууме: Переменную, в которой будет 2 тыщи символов и 50 тегов.
потом пройдись регуляркой. и засеки время от начала до конца.

1163
Денис @Анатолич
Foggy, о.к. как нить проверю.
щас мне главное чтобы не по 10 секунд страничка загружалась. и сервак не отрубался от перегруза.
а то чет в описаниях стращают регулярками. Интересно стало насколько все критично.

2970
удалён @Foggy
Анатолич, регулярки везде - зло. и на клиенте и на сервере. лучший выбор - обходиться без них. тогда лог будет летать.