Приоритет URL PHP [duplicate]

Это поддерживается на IE8 +.

Сначала мы проверяем, существует ли classList, если это возможно, мы можем использовать метод contains, который поддерживается IE10 +. Если мы находимся на IE9 или 8, он возвращается к использованию регулярного выражения, которое не так эффективно, но является кратким полифоном.

if (el.classList)
  el.classList.contains(className);
else
  new RegExp('(^| )' + className + '( |$)', 'gi').test(el.className);
3
задан Glenn Dayton 27 June 2012 в 23:33
поделиться

3 ответа

Используйте PHP DomDocument для разбора страницы

$doc = new DOMDocument();

// load the string into the DOM (this is your page's HTML), see below for more info
$doc->loadHTML('<a href="http://www.google.com">Google</a>');

//Loop through each <a> tag in the dom and change the href property
foreach($doc->getElementsByTagName('a') as $anchor) {
    $link = $anchor->getAttribute('href');
    $link = 'http://www.example.com/?loadpage='.urlencode($link);
    $anchor->setAttribute('href', $link);
}
echo $doc->saveHTML();

Проверьте здесь: http://codepad.org/9enqx3Rv

Если у вас нет HTML в виде строки, вы можете использовать cUrl ( docs ), чтобы захватить HTML, или вы можете использовать метод loadHTMLFile для DomDocument

Документация

6
ответ дан Chris Baker 1 September 2018 в 02:08
поделиться

Проще всего я могу это сделать:

$loader = "http://www.example.com?loadpage=";
$page_contents = str_ireplace(array('href="', "href='"), array('href="'.$loader, "href='".$loader), $page_contents);

Но это может иметь некоторые проблемы с содержащимися URL-адресами? или & amp;. Или если текст (не код) документа содержит href = "

-1
ответ дан ben 1 September 2018 в 02:08
поделиться

Еще один вариант, если вы хотите, чтобы ссылки были заменены на jQuery, вы также могли бы сделать следующее:

$(document).find('a').each(function(key, element){
   curValue = element.attr('href');
   element.attr('href', 'http://www.example.com?loadpage='+curValue);

});

Однако более безопасный способ делает это в php offcourse.

0
ответ дан John In't Hout 1 September 2018 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: