Ну вы меняете одно, а смотрите другое
Сделайте $this->title = $seo['ELEMENT_META_TITLE'];
Вероятно задумывалось сделать так
"Ну или там амперсанд тоже сущность хтмл" - как раз 4 лишних байта.
Сначала напихиваем кучу htmlscpacialchars, причем на входе,
по уму вообще ничего удалять не надо
< > " ' &
на фронте смотрятся не разу не убого, а заботливо оставленные бекендером двойные кавычки в строках, не разу не разматывают вёрстку к хренам. Очень по уму!!!
в кривизне исходной 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.
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf no_marks.pdf pdfmarks
Но не говорит о том, как именно это делается
Предположим, вам надо добавить небольшое изменение - пропускать ссылки, которые находятся внутри блоков pre и code
вы проявили невнимательность в preg_replace_callback. Это и есть проблема, это и будет у вас всегда проблемой, если будете парсить HTML регулярками
А насчёт того, что я вам посоветовал регулярку после обработки парсером, так это потому, что это как раз и место для регулярок: одна типовая строчка. Тут не запутаешься
$regularUrlPattern = '/(https:\/\/[\w_-]+(?:(?:\.[\w_-]+)+)[\w.,@?^=%&:\/~+#-]*[\w][ ]{1,}\/)/';
$detailTextWithoutSpaces = preg_replace_callback($regularUrlPattern, 'self::deleteSpaces', $detailText);
private static function deleteSpaces($match)
{
return str_replace(' ', '', $match[0]);
}
json парсить регулярками
через запросы по селекторам. Как в js/css примерно.
вы пришли сюда с регуляркой потому что не осилили её использовать
Совпадения по регулярке в $match, отлично находятся
сравните с кодом сверху который я отправлял
спарсить HTML регулярками, но зачем оно нам надо?
При помощи парсера, что вам предложили, выбираете все ссылки, которые хотите проверить, проверяете их атрибут href на вшивость, и заменяете этот атрибут на корректное значение. Потом сохраняете весь DOM. Ктати, вот тут, при проверке конкретной ссылки, если не терпится, можно использовать регулярку, ведь это просто одна строчка урла
как мне без регулярок найти в паре сотне HTML-ек различные битые ссылки с пробелами на конце?
ругими словами нужно возвращать исправленную ссылку
вызовы вида 'self::function' задеприкейчены в PHP 8.2:
Суть моей проблемы в том что они уже туда добавлены