Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Основы PHP...

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Ненужные коды исполняются и это занимает время.

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

Цитата:
Если в дальнейшем будут доработки, то можно запутаться, могут дублироваться переменные и что-то еще в этом роде;

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

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 22:06 18-07-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Согласен, спасибо!

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 22:29 18-07-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хочется собрать все классы из кода страницы. Пытаюсь сделать это так:
 
    $str ='<select class="form-validate" name="type">
    <div id="modal_preview_image" class="modal-image">';
    preg_match('#class="(.*?)"#s',$str,$out);
    echo "<br> $out[1] <br>";
 
Выводится только первое значение.  А как собрать все классы? можно составить такое выражение?
 
(Хорошо бы ещё отдельно собрать id=")  

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 22:09 22-07-2022 | Исправлено: Vladsvn, 22:10 22-07-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn
1) зачем?
2) PHP: Регулярные выражения (RegExp, Regular, eregi, preg)
3) лучше делать не регуляркой, а честной выборкой в DOM
4) если это не нужно делать в самом коде, то можно просто в любом текстовом редакторе
 

Цитата:
А как собрать все классы?

документацию по языку смотрите регулярно - preg_match_all, или preg_match в цикле, стартуя с предыдущей найденной позиции.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 22:13 22-07-2022
Samovarov



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Выводится только первое значение.  А как собрать все классы? можно составить такое выражение?

 
<?php
 
$str ='<select class="form-validate" name="type">
    <div id="modal_preview_image" class="modal-image">';
 
preg_match_all('{(class|id)="([^"]+)"}', $str, $out);
 
print_r($out);
 
https://php.zone/c/62db2536e3e46656010814
 
Mavrikii

Цитата:
1) зачем?

+1
 
Зачем?

Всего записей: 357 | Зарегистр. 20-03-2002 | Отправлено: 01:28 23-07-2022 | Исправлено: Samovarov, 01:31 23-07-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Зачем?
Такое впечатление, что в коде страницы классов и id больше, чем в файлах CSS и JS. Ручной анализ оказался слишком трудоемким - их сотни.    
 
Спасибо за код, отлично работает.  
 
А как сделать, чтобы из текста УДАЛИТЬ все, что находится в фигурных скобках?

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 08:33 23-07-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
чтобы из текста УДАЛИТЬ все, что находится в фигурных скобках?

preg_replace на пустую строку
если вы собираетесь так сокращать размеры страницы.. вы тратите зря время.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 09:12 23-07-2022 | Исправлено: Mavrikii, 09:13 23-07-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
preg_replace на пустую строку
Действительно, самый удобный способ. Спасибо!
 
 

Цитата:
если вы собираетесь так сокращать размеры страницы.. вы тратите зря время.
Размер страницы я сократил уже в 8 раз. И ещё можно бы, но уже хлопотно.
Хочется еще привести в читаемый вид и окончательно отделаться от ненужного. Сейчас это занимает время, да, но в будущем компенсируется, когда будет наращиваться функционал, а в этом отношении планы весьма обширные. Но если будет болтаться всякий хлам, то это мне усложнит дело. Заложить хороший фундамент я считаю важным и на этом экономить не хочется. Хотя, конечно же, времени жалко...
 
 
 

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 09:42 23-07-2022 | Исправлено: Vladsvn, 09:42 23-07-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Но если будет болтаться всякий хлам, то это мне усложнит дело

это может быть и не хлам, классы и id могут использоваться.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 09:45 23-07-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
классы и id могут использоваться.
Согласен, такое возможно, поэтому я так скрупулезно все и рассматриваю. Из JS я все классы вытащил - вообще не люблю этого. С id сложнее.

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 10:03 23-07-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Из JS я все классы вытащил - вообще не люблю этого.

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

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 10:07 23-07-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо!

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 10:09 23-07-2022
Samovarov



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
 но в будущем компенсируется, когда будет наращиваться функционал

Нет. Судя по вашему подходу. Вы погибнете в собственном коде уже через пол года.  
 
Если он работает, Ваш прежний код - не переделывайте его.  Проще всего, рядом развернуть нормальный новый код, и по кусочку переносить функционал в новую кодовую базу. В вашем случае - сужу по тем кусками которые я видел.  
 
И, настойчиво советую, выберите самый популярный фреймворк, но котором работают все (многие)
 
Основная полезность фреймворков (кроме того что экономят работу) - они задают стандарты, которые понимают все. И вы не будете привязаны к конкретному исполнителю. Можно конечно и на классном фреймворке написать, так, что черт ногу сломает, но все равно будет проще разобраться.
 
И почитайте пару статей по рефакторингу - этим вы сейчас занимаетесь. Есть классная книжка, она для вас избыточна, но можно посмотреть начало, чтобы понять суть - "Рефакторинг кода на JavaScript. Улучшение проекта существующего кода | Фаулер Мартин". Подходы общие, для всех языков. На тестирование закройте глаза.  
 
Добавлено:
Ни и от IDEшки (редактора кода) очень многое зависит. Они реально много времени экономят.
 
Добавлено:
Ну и гит, если вы им, вдруг, не пользуетесь

Всего записей: 357 | Зарегистр. 20-03-2002 | Отправлено: 13:23 23-07-2022 | Исправлено: Samovarov, 13:24 23-07-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
И почитайте пару статей по рефакторингу
Спасибо!

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 14:26 23-07-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер!
 
Отладил на сайте регистрацию и возможность комментирования статьи зарегистрированными посетителями, и тут только вспомнил о том, что ведь нужна и модерация! То есть, об этом я помнил всегда, но было как-то не до того, а вот теперь думаю, как решить эту задачу.
 
В сети решения посмотрел, но любопытного мне не встретилось. И появилась вот такая идея.
 
Каждая новость выглядит вот так:
<div id="comment_text_2665">Новость</div>.
 
Здесь id 2665 - это номер строки в базе.
 
Предлагается модератору присвоить специализированный id, при просмотре под которым рядом с заголовком новости выводить этот номер в виде ссылки,  по клику на которую будет вытаскиваться соответствующий контент непосредственно из базы. И его можно править либо удалять.
 
Жизнеспособная идея? Или есть получше?

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 22:14 07-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Жизнеспособная идея? Или есть получше?

можно же просто отображать его сразу модератору, помечая каким то образом, что сообщение на премодерации и нужно его либо удалить, либо разрешить.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 22:43 07-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сейчас премодерация редко используется - пользователи хотят видеть свои посты сразу. Так что приходится ориентироваться на выборочную постмодерацию.  
 
Для неё мой алгоритм подходит?
 
Или есть получше?

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 22:46 07-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Для неё мой алгоритм подходит?

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

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 22:47 07-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 22:55 07-08-2022 | Исправлено: Vladsvn, 22:55 07-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn
я тогда не понимаю сути вашего первого сообщения.
чего вы хотите добиться и при чем тут  

Цитата:
по клику на которую будет вытаскиваться соответствующий контент непосредственно из базы

почему не отображать его СРАЗУ модератору, без каких либо кликов.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 22:57 07-08-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Компьютерный форум Ru.Board » Интернет » Web-программирование » Основы PHP...


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru