получить содержимое ссылки с php

0

Как я могу использовать PHP (javascript тоже подходит), чтобы получить данные из этого?

    <div class="row first-row">
<a href="http://services.runescape.com/m=clan-hiscores/ranking?clanId=346923&amp;ranking=num_members">
<div class="left">
<p>
Clanmates
</p>
<span>
165
</span>
</div>
</a>
<div class="middle">
<img src="http://www.runescape.com/img/clan/stats/stats/num_members.png" alt="" title="Clanmates">
</div>
</div>

(заметьте, я разорил его, потому что он разбирался)

Я хочу вернуть это "165" автоматически, потому что он изменяется.

Извините за то, что задал глупый вопрос, поиск в Google, и этот сайт не придумал то, что мне нужно.

Я новичок в этом:/

  • 1
    Является ли HTML действительно настолько неправильным?
  • 1
    Редактирование этого вопроса не должно быть одобрено.
Показать ещё 3 комментария
Теги:
hyperlink
innertext

2 ответа

2
Лучший ответ

Вам нужно использовать DOMDocument для анализа рассматриваемого HTML-кода и извлечения текста ссылки. Без дополнительного кода или дополнительной информации о том, что вы пытаетесь сделать, трудно дать полный ответ.

EDIT: Вот пример работы с DOMDocument:

<?php

// Replace this with your actual HTML
$str = '<td class="col3 align"><a href="http://somesite.com/">165</a></td>';

// Create an instance of DOMDocument
$html = new DOMDocument();
// load and parse your HTML
$html->loadHTML($str);
// Get the a tags
$a_tags = $html->getElementsByTagName('a');
// Loop through them
foreach ($a_tags as $link) {
    echo $link->nodeValue, PHP_EOL; // prints 165
}

ЕСЛИ код действительно сломан HTML, как в примере, который вы дали, вы могли бы использовать регулярное выражение, например:

$str = 'td class="col3 align">a href="http://somesite.com/">165</a</td ';
$text = preg_replace('~^.+?a[^>]+>|</a.+$~', '', $str);
  • 0
    Вы также можете использовать что-то вроде Tidy .
  • 0
    Я сомневаюсь, что DomDocument проанализирует это правильно. Это даже не действительный HTMl ...
Показать ещё 3 комментария
-3

Вы можете сделать это в jQuery следующим образом:

var url = $('.col3.align a').text();
  • 1
    -1. Это про разбор, а не отображение.
  • 0
    Да простите, мой плохой :) Отредактировал ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню