AMcoder - javascript, python, java, html, php, sql

ստացեք արտաքին տեքստային HTML պարզ html dom-ով

Ես օգտագործում եմ պարզ html dom՝ լրատվական կայք քերելու համար: Reative URL-ները բացարձակին ամրացնելու երկար փնտրտուքներից հետո ես վերջապես կարողացա ճիշտ ձևակերպել այն այսպես.

$url = 'http://www.nu.nl';

    $html = file_get_html($url);
    foreach($html->find('a') as $element) {
        echo url_to_absolute($url, $element->href), "<br />";
    }

Խնդիրն այժմ այն ​​է, որ սա թողարկում է href-ը որպես պարզ տեքստ: Կան ներկառուցված գործառույթներ պարզ html dom-ում, ինչպիսիք են «արտաքին տեքստը», «ներքին տեքստը» և այլն՝ html-ը որպես պարզ html ստանալու համար: Ինչպե՞ս կարող եմ օգտագործել այս գործառույթները վերը նշված կոդի մեջ: Ինչպե՞ս կարող եմ (օրինակ) կրկնել echo $html ամբողջական էջը և ներառել վերը նշված կոդը՝ URL-ները շտկելու համար:

16.05.2013

  • nm, պարզապես հետաքրքիր էր, արդյոք դուք ինչ-որ վստահված անձի եք կառուցում nu.nl-ի համար 16.05.2013

Պատասխանները:


1

Չի փորձարկվել, բայց ես կարծում եմ, որ դուք կարող եք նման բան անել

$url = 'http://www.nu.nl';

$html = file_get_html($url);
foreach($html->find('a') as $element) {
    $element->href = url_to_absolute($url, $element->href);
}
echo $html->save();

Քանի որ $element-ը հղում է (ես ենթադրում եմ), և $html->save()-ը կվերստեղծի այն DOM ծառից, այն կտա փոփոխված աղբյուրը

16.05.2013
  • Շատ շնորհակալ եմ:) Այո, ես պրոքսի եմ կառուցում: Ի դեպ, դուք կարծում եք, որ ես կարող եմ դա անել պատկերների համար foreach($html->find('img') as $element) { $element->src = url_to_absolute($url, $element->src); } Ես այս կոդը դրեցի ձերի տակ և այն աշխատեց: Սա գրելու լավագույն միջոցն է, թե՞ ավելի լավ (ավելի արդյունավետ) միջոց կա... 16.05.2013
  • Կարծում եմ, որ դա ամենաէլեգանտ, բայց նաև ամենածանր և դանդաղ ճանապարհն է: եթե դուք իսկապես ցանկանում եք կատարում, կարծում եմ, որ դուք պետք է հավատարիմ մնաք ռեգեքսին: Դրա համար պետք է նշաձող լինի, եթե ազատ ժամանակ ունենամ, կկազմեմ 16.05.2013
  • Ոչ, html-ը երբեք չպետք է վերլուծվի regex-ով: Կատարումը երբեք չպետք է հաշվի առնել: 16.05.2013
  • @pguardiario Խոսքը ոչ թե HTML-ը regex-ով վերլուծելու մասին է, դա պարզ կեղտոտ կլիներ, այլ ավելի շատ աղբյուրի հղումները regex-ով փոխարինելու մասին: 16.05.2013
  • Հմմ, դու նույնպես չպետք է դա անես: Եթե ​​դուք իսկապես չգիտեք, թե ինչ եք անում: 16.05.2013
  • @pguardiario Հաճելի բլոգ, դուք ստացաք :) Շնորհակալություն ձեր գիտելիքները կիսելու համար 16.05.2013
  • Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..