Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560

    estrerre contenuto text da array

    con la funzione
    Codice PHP:
    public function getFeaturesXpath()

    array(
                    
    'name' => ".//div[contains(@id, 'techspecs')]//p",
                    
    'value' => ".//div[contains(@id, 'techspecs')]//p",
                ), 
    devo estrarre il valore "Tipo" e "Neri"

    dalla pagina html:

    codice:
    <div id="techspecs">
    <div class="mk-product-tech-title small-12 medium-6 large-6 columns text-left">
    <p><strong>Tipo</strong></p>
    </div>
    <div class="mk-product-tech-info small-12 medium-6 large-6 columns text-left">
    <p>Neri</p>
    </div>

    mi estrae solo il valore "Tipo" ripetuto due volte, come modifico per distinguere 'name' da 'value'?

    Thanks

  2. #2
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    ho provato così ma nulla..

    Codice PHP:
    array(
                    
    'name' => ".//div[@id='techspecs']/p[contains(@class,'mk-product-tech-title')]",
                    
    'value' => ".//div[@id='techspecs']/p[contains(@class,'mk-product-tech-info')]",
                ), 

  3. #3
    Non conosco Xpath, ma se usi DomCrawler con CssSelector, ti bastano dei selector tipo:

    div#techspecs div.mk-product-tech-title
    div#techspecs div.mk-product-tech-info

    Usando poi il metodo text() (magari con un trim()) per estrarre il contenuto senza i tag aggiuntivi (p, strong, etc).

    https://symfony.com/doc/current/comp...m_crawler.html
    https://symfony.com/doc/current/comp..._selector.html

  4. #4
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    grazie per la risposta, purtroppo sto usando un plugin wordpress e non conosco molto..

    ho provato anche con:


    Codice PHP:
    array(
                    
    'name' => ".//div[contains(@class, 'mk-product-tech-title')]//p[1]",
                    
    'value' => ".//div[contains(@class, 'mk-product-tech-info')]//p[2]",
                ), 
    ma nulla

  5. #5
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    Codice PHP:
    array(
                    
    'name' => ".//*[@id='techspecs']//p[1][@class='mk-product-tech-title']",
                    
    'value' => ".//*[@id='techspecs']//p[2][@class='mk-product-tech-info']",
                ), 


    questo dovrebbe essere il codice secondo la documentazione Xpath, ma non funge

  6. #6
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    come onnnn dopo un giorno intero di studio e test finalmente ho trovato il codice esatto!

    Lo condivido per il forum, a chi dovesse servire in futuro, a presto

    Codice PHP:
    array(
                    
    'name' => ".//*[@id='techspecs']//div[@class][1]/p",
                    
    'value' => ".//*[@id='techspecs']//div[@class][2]/p",
                ), 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.