• Редирект с GET запроса на ЧПУ?

    JastaFly
    @JastaFly Автор вопроса
    dodo512, спасибо сработало)
    Так-же заметил ещё заметил что данный редирект не будет работать для корневых страниц каталога:
    https://my-site.ru/catalog/?brand=microsoft
    Поправил его ещё и под этот кейс:
    RewriteCond %{QUERY_STRING} ^(brand)=([^&]+)$
    RewriteRule ^(en/)?catalog/(.+/)?$ /$0%1/%2/? [R=301,L]
    Написано
  • Редирект с GET запроса на ЧПУ?

    JastaFly
    @JastaFly Автор вопроса
    dodo512, появились новые условия для редиректа. Дело в том что сайт биязычный и русская версия каталога находится по этому адресу:
    https://my-site.ru/catalog/
    а соответствующая ему английская по адресу:
    https://my-site.ru/en/catalog/
    Можете пожалуйста подсказать как модифицировать данное правило:
    RewriteCond %{QUERY_STRING} ^(brand)=([^&]+)$
    RewriteRule ^catalog/.+/$ /$0%1/%2/? [R=301,L]

    чтобы редирект с русской версии сайта:
    https://my-site.ru/catalog/bdsm-kostumi/maski-s-klapom/?brand=microsoft

    вел на русскую версию ЧПУ:
    https://my-site.ru/catalog/bdsm-kostumi/maski-s-klapom/brand/microsoft/

    а редирект с английской версии сайта:
    https://my-site.ru/en/catalog/bdsm-kostumi/maski-s-klapom/?brand=microsoft

    соответственно вёл на английскую:
    https://my-site.ru/en/catalog/bdsm-kostumi/maski-s-klapom/brand/microsoft/

    или может быть есть другие варианты как решить эту задачу?
    Написано
  • Битрикс ошибка Mysql connect error [localhost]: (2002) No such file or directory (400)?

    JastaFly
    @JastaFly Автор вопроса
    UNiT LAB,
    Значит конкретно у Вас проблема не в порте или порт другой. Данная ошибка говорит о том что Битрикс никак не может подрубиться к БД и это может случиться по разным причинам: может как у меня порт указан неверно, может имя БД указано неверно, может быть вообще БД не существует, короче причин может быть масса ищите свою. Для начала попробуйте у просто подрубиться к базе через консоль, чтобы убедиться что все данные в конфиге указаны верно. Далее пробуйте узнать адрес и порт по которым до неё можно достучаться
    Написано
  • Редирект с GET запроса на ЧПУ?

    JastaFly
    @JastaFly Автор вопроса
    dodo512,

    нужно ставить правило редиректа в начало файла .htaccess чтобы редирект был выше остальных правил.

    Ну да, переставил правило повыше сразу после RewriteEngine On и оно заработало. Ещё немного модифицировал его чтобы не было привязки к конкретному адресу и оно могло одновременно работать как на тесте, так и в проде:
    RewriteCond %{QUERY_STRING} ^(brand)=([^&]+)$
    RewriteRule ^catalog/.+/$ /$0%1/%2/? [R=301,L]
    Написано
  • Редирект с GET запроса на ЧПУ?

    JastaFly
    @JastaFly Автор вопроса
    dodo512 не срабатывает. Зато работает вот такой вариант:
    RewriteEngine on
    RewriteCond %{QUERY_STRING} (^|&)brand=([-0-9a-z]+)
    RewriteRule (.*[^/])/*$ /$1/brand/%2/? [R=301]

    Правда вместо модифицированного исходного урла он ведёт на файл роутинга Битрикса:
    https://my-site.ru/bitrix/urlrewrite.php/brand/microsoft/
    Написано
  • Функция str_replace() не работает?

    JastaFly
    @JastaFly Автор вопроса
    Виктор,

    видимо некорректно попробовали,

    Всё было корректно, но данная функция не позволила мне избавиться от всех кодов HTML символов, некоторые всё равно проскальзывали
    Написано
  • Функция str_replace() не работает?

    JastaFly
    @JastaFly Автор вопроса
    Сергей delphinpro, не пойдёт, встречаются символьные коды и без амперсанда
    Написано
  • Функция str_replace() не работает?

    JastaFly
    @JastaFly Автор вопроса
    @ipatiev

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

    Прекрасная мысль! Сейчас-же хватайте свою линеечку и направляйтесь в офис к разработчикам Битрикса, чтобы нещадно высечь всех причастных к созданию данной говноCMSки. Тысячи PHPшников будут чтить Вас в веках за сей подвиг!
    Написано
  • Функция str_replace() не работает?

    JastaFly
    @JastaFly Автор вопроса
    Ипатьев,

    Исправлять надо всегда причину, а не следствие.

    Чтобы исправить причину нужно зачистить от этих символов базу с сотнями тысяч товаров и перелопатить часть ядра Битрикса отвечающую за выгрузку товаров. Я понимаю для бешеной собаки 100 вёрст не крюк, но мне есть чем ещё заняться
    Написано
  • Функция str_replace() не работает?

    JastaFly
    @JastaFly Автор вопроса
    Сергей delphinpro, nokimaro,
    Всё так, написал простенький метод, чтобы вычищать всё это из строк:
    public function clearFromHtmlSpecificChars(string $text): string
        {
            $search = ['<', '>', '"', ''', '&', 'quot;', 'amp;'];
            $replace = ['', '', '', '', '', '', ''];
    
            return str_replace($search, $replace, $text);
        }
    Написано
  • Функция str_replace() не работает?

    JastaFly
    @JastaFly Автор вопроса
    Виктор пробовал, не помогло
    Написано
  • Функция str_replace() не работает?

    JastaFly
    @JastaFly Автор вопроса
    Ипатьев,

    Вот поэтому их и не надо добавлять!

    Суть моей проблемы в том что они уже туда добавлены
    Написано
  • Функция str_replace() не работает?

    JastaFly
    @JastaFly Автор вопроса
    Дмитрий, Ипатьев, Vitsliputsli, Сергей delphinpro, Adamos,

    Ну вы меняете одно, а смотрите другое

    Дешифруйте пожалуйста?!

    Сделайте $this->title = $seo['ELEMENT_META_TITLE'];

    Не поверите именно так оно работало до того как пришло и вызывала проблему которую я и пытаюсь сейчас решить

    Вероятно задумывалось сделать так

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

    "Ну или там амперсанд тоже сущность хтмл" - как раз 4 лишних байта.

    В яблочко

    Сначала напихиваем кучу htmlscpacialchars, причем на входе,

    А Вы думаете обработчик входных данные и их вывод всегда пишется одним и тем человеком?

    по уму вообще ничего удалять не надо

    Ды да все эти коды < > " ' & на фронте смотрятся не разу не убого, а заботливо оставленные бекендером двойные кавычки в строках, не разу не разматывают вёрстку к хренам. Очень по уму!!!
    Написано
  • Какую библиотеку для PHP 8 можно использовать для редактирования метадаты в PDF файлах?

    JastaFly
    @JastaFly Автор вопроса
    Adamos,

    в кривизне исходной PDF, возможно

    Судя по всему Вы правы. Попробовал прогнать файл через консоль, как раз таки на проблемной странице получаю ошибки:
    **** Error reading a content stream. The page may be incomplete.
                   Output may be incorrect.
       **** Error: Form stream has unbalanced q/Q operators (too many q's)
                   Output may be incorrect.
       **** Error reading a content stream. The page may be incomplete.
                   Output may be incorrect.
       **** Error: File did not complete the page properly and may be damaged.
                   Output may be incorrect.

    И итоговый отчёт:
    **** This file had errors that were repaired or ignored.
       **** The file was produced by:
       **** >>>> iLovePDF <<<<
       **** Please notify the author of the software that produced this
       **** file that it does not conform to Adobe's published PDF
       **** specification.
    
       **** The rendered output from this file may be incorrect.
    Написано
  • Какую библиотеку для PHP 8 можно использовать для редактирования метадаты в PDF файлах?

    JastaFly
    @JastaFly Автор вопроса
    Adamos, нашёл на данном ресурсе метод вставки метаданных в PDF, при помощи слияния двух файлов. Команду, для exec():
    gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf no_marks.pdf pdfmarks

    взял от туда. В плане вставки метаданных, всё прекрасно работает, но вот обнаружилась проблема, что после генерации из результирующего PDFа, могут пропадать картинки. Не подскажите в чём может быть проблема?
    Написано
  • Какую библиотеку для PHP 8 можно использовать для редактирования метадаты в PDF файлах?

    JastaFly
    @JastaFly Автор вопроса
    Adamos, а нет како-то менее костыльного метода?
    Написано
  • Какую библиотеку для PHP 8 можно использовать для редактирования метадаты в PDF файлах?

    JastaFly
    @JastaFly Автор вопроса
    Adamos как-то не особо понял как через него изменить метаданные в PDF? И вариант с командной строкой не годится, нужна функция либо метод
    Написано
  • Как написать обновление для модуля Битрикс?

    JastaFly
    @JastaFly Автор вопроса
    Михаил Ливач, всё это костыли, на самом деле мою задачу можно решить и множеством других способов, не прибегая к переустановки, просто анализировал как до того делали другие разработчики и они переустанавливали модуль. Но истинные джедаи так не поступают, поэтому я и задумался, а может есть какой-то нативный способ написать апдейт для модуля
    Написано
  • Странное поведение str_replace() при заменах в HTML?

    JastaFly
    @JastaFly Автор вопроса
    Rsa97,

    Но не говорит о том, как именно это делается

    Это уже вопрос квалификации разработчика, для непрограммиста код высокоуровнего ЯПа не понятнее греческого

    Предположим, вам надо добавить небольшое изменение - пропускать ссылки, которые находятся внутри блоков pre и code

    Модифицирую свой код под эту задачу, тут уже вполне проглядывается смысл в либе для прасинга, так как придётся анализировать не является ли ссылка потомком pre или code. Как видите я не догматик который топит за/против регулярок, только потому что где-то об этом услышал, а своего ума понять что и как не хватает. Это всего лишь инструмент и как любой инструмент он хорош для одних задач и плох для других. И всё в большей степени зависит от того в чьих руках он находится, вряд-ли разумно обвинять микроскоп в том что им гвозди забивать неудобно
    Написано
  • Странное поведение str_replace() при заменах в HTML?

    JastaFly
    @JastaFly Автор вопроса
    Rsa97, там название переменной как бы намекает на то что она делает
    Написано