LINUX.ORG.RU

Получить содержание div по id на php

 ,


0

2

Случилась следующая проблема - DOMDocument коверкает слеши на винде, из-за чего адрес перестает быть правильным - картинки перестают показываться. Подскажите какой есть способ получить содержимое DIV?

★★★

DOMDocument коверкает слеши на винде

Э... Как? Он же должен работать в рамках http, а не файловой системы.

KRoN73 ★★★★★
()

ищи скрипт который это делает... а получить можно либо перебором в цикле дерева dom или jquery это делает если есть id или class дива, в последнем случае всё равно цикл, но уже не всю страницу а конкретные дивы с классом

Frost ★★★
()
Последнее исправление: Frost (всего исправлений: 1)
Ответ на: комментарий от KRoN73

Э... Как? Он же должен работать в рамках http, а не файловой системы.

Ну он <img src=«blablabla\blabla.jpg» > он тут обратный слеш в какое-то дерьмо превратит вида %5

abs ★★★
() автор топика
Ответ на: комментарий от abs

а вообще на той странице на которой это происходит отруби яваскрипты все, выкини их, и сразу поймешь из за них такое происходит

Frost ★★★
()
Ответ на: комментарий от abs

Где ты видел обратные слеши в HTTP?

Deleted
()
Ответ на: комментарий от abs

А откуда там, вообще, обратный слеш? o_O

У тебя ошибка где-то раньше вылезает. В HTTP-адресации нет обратных слешей.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

В HTTP-адресации нет обратных слешей.

Это все из-за винды, я для людей делаю, и у одного из них локалхост на винде. Вот там такое и получается.

abs ★★★
() автор топика
Ответ на: комментарий от abs

Вот там такое и получается.

Вот где-то раньше ошибку и нужно ловить. Такое не должно получаться.

Если что — под виндой в HTTP слеши такие же прямые, как и в других ОС.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Ок, слушай, такой вопрос, я могу сделать что-то вроде <div id=«postContent»> blabla </div id=«postContent»> ?

abs ★★★
() автор топика
Ответ на: комментарий от Deleted

Вали маны читать.

Я пробовал гуглить «атрибуты закрывающий тег», ничего не сказано об этом.

abs ★★★
() автор топика
Ответ на: комментарий от Deleted

Ну я DOMDocument использовал чтоб получить содержимое по id, а с таким способом я смогу это сделать гораздо проще. Но это не сработало.

abs ★★★
() автор топика
Ответ на: комментарий от abs

можно мне отдельно, откуда там обратный слэш ? если это вопрос протола, ну или веб-сервера как минимум (если пхп, значит есть и веб-сервер ?)

и откуда вообще эта теория о атрибутах в закрывающем теге ? единственная причина, где оно могло бы пригодится, это парсинг текста, как текста (без синтаксиса, xml и прочего) и даже тогда оно не нужно

Dred ★★★★★
()
Ответ на: комментарий от abs

почитай все же мануал по домдокумент.

домдокумент отдает тебе уже готовый объект, и ищет он именно по открывающему тегу, т.к. закрывающий просто обозначает конец иерархии/контейнера. т.е. если ты не смог найти по открывающему тегу, закрывающий тебе вообще никак не поможет.

nagibator
()
Ответ на: комментарий от abs

я могу сделать что-то вроде <div id=«postContent»> blabla </div id=«postContent»> ?

По стандарту закрывающие теги не могут иметь атрибуты. Но реально браузеры игнорируют закрывающие теги без проблем. Так что, в принципе, такой вариант использовать можно. Но тогда уже лучше так:

<div id="postContent"> blabla </div><!-- div-id-postContent -->

И вырезать, соответственно, по

preg_match('#<div id="postContent">(.+?)</div><!-- div-id-postContent -->#', $content, $match);

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

И вырезать, соответственно, по

Вооо, я примерно так и поступил

abs ★★★
() автор топика
Ответ на: комментарий от Dred

можно мне отдельно, откуда там обратный слэш ?

Был какой-то баг с file_exist, я особо не стал разбираться, написал первый работающий на винде код(тестировать то мне было жуть как неудобно).

if (file_exists($linkFile)){
                    echo '<a href="'.Mage::getBaseUrl('media').DS.implode(DS, $parseURL).'" rel="prettyPhoto[gallery1]" ><img src ="'.Mage::getBaseUrl('media').DS.implode(DS, $parseURL).'" /></a>';
                }
abs ★★★
() автор топика
Ответ на: комментарий от abs

<a href=«'.Mage::getBaseUrl('media').DS.

Вот тут не DS нужен, а прямой слеш. В общем, пути в html не валидные, вот и меняются на искейп-последовательности, что всё ломает.

KRoN73 ★★★★★
()

Тред адово наркоманище.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.