Помогите преобразовать этот экстрактор ссылок в процедурный стиль PHP

  • Автор темы Александр Долотов
  • 19
  • Обновлено
  • 12, May 2024
  • #1
Привет!

Я только сейчас зарегистрировался.

Может ли кто-нибудь быть настолько любезен, чтобы преобразовать этот код в процедурный стиль php и разместить его здесь, чтобы я мог изучить код так же, как и все другие новички?

Видите ли, я все еще изучаю процедурный стиль и еще не дошел до уровня ООП.

Это экстрактор ссылок.

 

<?php

//Code from: [URL='https://lumtu.com/yti/Z1FF1ZXNodHRwczovL3BvdGVudHBhZ2VzLmNvbS93ZWItY3Jhd2xlci1kZXZlbG9wbWVudC90dXRvcmlhbHMvcGhwL3RlY2huaXuh2']https://potentpages.com/web-crawler-development/tutorials/php/techniques[/URL]

//Assuming your contents are in a variable called $contents

//New DOM Document

$document = new DOMDocument;

//Load HTML in $contents variable

$document->loadHTML($contents);

//Get all links

if($links = $document->getElementsByTagName('img')) {

//Loop through all links

foreach($links as $node) {

//Get source of the image (src attribute)

$img_src = $node->getAttribute('src');

//Get alt text of the image (alt attribute)

$img_alt = $node->getAttribute('alt');

}

}

?>

Код (разметка):

Александр Долотов


Рег
06 Oct, 2012

Тем
1

Постов
2

Баллов
12
  • 06, Jun 2024
  • #2
Совершенно и совершенно неверно. До такой степени, что, вероятно, даже не знаешь достаточно PHP, чтобы попытаться ответить на вопрос этого бедняги! Этот код использует PHP, встроенный в DOMDocument. ОБЪЕКТ и связанные с ним МЕТОДЫ! К несчастью для OP, DOMDocument по своей сути является объектно-ориентированным, поскольку он превращает HTML в объектную модель документа — DOM.

Он ПО своей сути объектно-ориентированный, как и сам HTML.

Таким образом, такого понятия, как процессуальный эквивалент, не существует.

... и, честно говоря, даже ПРОСЬБА о процедурном эквиваленте, вероятно, означает, что наш маленький приятель еще не изучил HTML достаточно, чтобы работать с PHP.

HTML по своей сути является текстовым представлением дерева узлов объекта.



Каждый HTML-элемент или раздел контекстного текста представляет собой узел объекта, который имеет такие свойства, как alt, src, id, класс, тип и т. д. и т. д. У узла в дереве могут быть родительские, одноуровневые и дочерние элементы, которые оба являются объектами в их собственные права и свойства относительного элемента.

Вот почему они обрабатываются как объекты, поскольку они и являются объектами.

Такой вещи, как процедурный эквивалент, не существует, и даже попытка сделать это была бы явной умственной тратой времени.

Что-то вроде умственной карликовой процедуры процедурных оберток mysqli, только не заходите туда.

Если вы хотите приступить к обработке HTML таким образом, пришло время собраться с силами, пристегнуться, надеть штаны большого мальчика и изучить объекты.

Смейтесь, это полностью то, как это обрабатывается в JavaScript, и это еще кое-что, что вам нужно освоить, прежде чем углубляться в PHP.

Это препроцессор гипертекста — он существует для того, чтобы склеивать данные и разметку… поэтому, если вы не знаете основ HTML, для чего вы собираетесь его использовать?
 

FreeDOM2


Рег
17 May, 2012

Тем
1

Постов
2

Баллов
12
Тем
49554
Комментарии
57426
Опыт
552966

Интересно