width имеет приоритет ниже чем px
Поэтому если у Вас в стилях где-то прописано нечто вроде img { width:123px; } , то прописывать width=123 бесполезно.
Например для того блока где не работает может быть указано нечто вроде .blockclass {img: 123px;}
curl используйте.
file_get_contents пораженчество.
А на фига Вам html2bb вообще? Это конечно альтернативный совет, но сохраняйте просто исходник в ббкодах если уж Вам так ббкоды нужны. Тем более как правило обратное преобразование редко однозначно выполнить можно, обязательно какая-нибудь ерунда примешивается.
В "стандартном" реге подразумевается, что закрывающий тэг нельзя найти в открывающем наборе тэгов. Поэтому 1 к 1 не получится.
Не уловили что именно не работает, но если важно разобраться - приведите код "как есть" и укажите на конкретную проблему.
Сделать отдельную страницу где будет только калькулятор.
Впрочем, если Вы эстет, то можно по событию клика на печати применять стили прячущие все кроме калькулятора, но это извращение.
Это наиболее правильный ответ программиста если Вы внезапно сваливаетесь ему на голову.
3 часа - это чистое время работы. Возможно, еще час уйдет на внезапности и уточнения. Итого часа 4.
Найти 4 часа в занятом графике не всегда легко, но за 3 дня вполне реально.
Если у прогера неделя вперед по 4 рабочих часа каждый день расписана - то может и 10 дней уйти на поиск этих 4 часов:)
Это уже ненормально, если без предупреждения и все такое. Такое сразу в сад.
1а) Рег-то у Вас не точно такой, как в первом Вашем посте с регом. По смыслу вроде такой же, но по записи чуть другой (из-за экранирований). Советуем ограничителями выбирать не / и \ , а все же что-то более нейтральное - типа ~ . Что бы не заниматься еще экранированием ограничителей.
1б) По поводу "почему одни экранируются, а другие нет". Экранировать необходимо только когда есть неоднозначность. Множество может начинаться с [ , поэтому это спецсимвол. Но сам по себе ] ничего не значит (только как завершающий последовательность, ЕСЛИ она вначале была начата), поэтому его можно не экранировать.
2) "Любой символ не скобка" нужен что бы выбрать все символы, которые до этой скобки, т.е. до вероятного начала тэга. ?! нужен для того, что бы выбрать скобку "[" если она не является частью нужного Вам тэга. Про /? и дальше Вы правильно поняли.
3) Просто не получится, надо сильно думать. У Вас закрывающий и открывающий тэги в "прямом" варианте отличаются только наличием / , плюс открывающий тег не содержит в себе закрывающего. В "обратном" варианте и отличий больше и открывающий тэг содержит в себе часть закрывающего. Мы бы сделали проще, просто вырезали бы "<div class=splr-h>Спойлер: показать</div>" и все - на кой он нужен при обратном преобразовании?
Иногда нельзя. Смотря как что настроено.
Проще сначал отсечь очевидное:)
А вообще у автора такой отборный кусок г-нокода, что он явно скопировал его откуда-то из учебника и тут вместо исправления ошибки - следовало бы начинать понимать что происходит.
Так это рекурсивное решение на рекурсивных регулярках, а не просто рекурсивная замена регуляркой.
Еще раз - мы бы обошлись без рекурсивных регулярок. Образцы решений можно взять хоть в phpbb, хоть в vbulletin - парсинг bbкодов уже заезженная тема.
#\((?:[^[]|\[(?!/?indent])|(?R))+)\#
((?:[^[]|\[(?!/?indent])|(?R))+)\
Оно вставляется, просто не отображается:)
indent в начале и конце (с квадратными скобами и слэшами) задает условие, что каждое найденное выражение должно иметь вначале открывающий тэг и в конце закрывающий.
?: просто объединяет выражения (три) в скобках в одну группу, разделенных |, само по себе ничего не делает (ставится для экономии памяти, что бы этот результат отдельно не сохранялся при разборе рега).
Первое из этих выражений соответствует "не ["
Второе соответствует "[" после которой НЕТ indent или /indent (за такое условие отвечает ?! )
Третье соответствует полной регулярке (т.е. полной, как будто $0, с indent-ами и т.д.)
Т.е. первые два выражения это попросту говоря "все кроме индентов = либо не скобка, либо скобка после которой нет индента", а последнее как раз нужная Вам рекурсия (два индента - в начале и в конце, а так же что-то внутри).
siv1987, Satisfaction,
Вы вообще о чем?
session_start, разумеется, не закрывает никаких заголовков.
Но она, разумеется, может отправляет заголовки ( о чем недвусмысленно сказано в документации).
Поэтому если Вы не кэшируете буфер вывода (для чего мы и посоветовали ob_start), то header("Location после нее уже может быть работать и не будет.---------- Добавлено 29.11.2015 в 22:58 ----------Впрочем учитывая явную ньюбность автора - мы бы посоветовали Telez убедиться в том, что до <? у него нет ничего. Даже BOM символа UTF-8.
Можно открыть файл в другом редакторе, например, что бы проверить его отсутствие. Или сохранить в соответствующем формате.