Загрузить html с внешнего сайта для редактирования через Ajax

#php #jquery #ajax #curl

#php #jquery #ajax #curl

Вопрос:

Я использую метод Jquery .load() для выполнения Ajax-запроса из php-файла. Этот php-файл отправляет запрос curl на одну из многих внешних html-страниц. Затем .load() помещает html в текстовое поле html, чтобы его можно было редактировать и выбирать.

Моя конечная цель здесь — получить весь html из внешнего источника и разместить его на моей главной странице, отредактировать его, затем скопировать / вставить и использовать где-нибудь еще.

Иногда текущий процесс работает отлично. Но в других случаях html не отображается в текстовом поле. Используя Firebug, я вижу, что есть куча нового кода, который Jquery загрузил для меня, но в нем отсутствуют теги.

Есть предложения, как сделать это лучше?

Мой Javascript:

 function LoaditUp(){
  var MyURL=xxx;
  var loadMe="grabber.php?place=MyURL";
  $("#myTextBox").load(loadMe);     
}
  

Мой php-код:

 $placekey = $_GET['place'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $placekey);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec ($ch);
curl_close ($ch);
echo $contents;
  

Комментарии:

1. Вы имеете в виду, что в нем отсутствуют конечные теги?

2. Если загруженный HTML содержит теги текстовой области, мне интересно, остается ли страница по-прежнему действительной. Внутренняя </textarea> закроет внешнюю <textarea> .

3. @LeviMorrison Не просто конечные теги. Когда процесс прерывается, отсутствует множество тегов (начальный и конечный теги).

4. @StefanPantke Это отличный момент, и я думаю, что тег <textarea> нарушил бы его — но в html, который я пытаюсь захватить, нет тегов <textarea>.

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