Come Fetch H1 tag in PHP

October 27

Come Fetch H1 tag in PHP


PHP è un linguaggio di scripting server-side che ha molte funzionalità integrate che possono essere utilizzati per l'analisi HTML, il linguaggio utilizzato per visualizzare le pagine web sul World Wide Web. Uno dei tag più comuni utilizzati in HTML è il primo tag intestazione di livello, o il "<h1>" tag. Utilizzando PHP, programmatori Web possono analizzare HTML e recuperare i valori contenuti in HTML "<h1>" tag e utilizzare i valori per una varietà di scopi, ad esempio per la costruzione di contorni.

istruzione

1 Aprire un editor di testo e creare un nuovo file e il nome "getH1Tags.php." Aggiungere un delimitatore PHP open ( "<? Php") e un PHP vicino delimitatore ( "?>") Per il file. Qualsiasi testo inserito tra questi due delimitatori verrà analizzato come codice PHP dal programma PHP.

<? Php

?>

2 Dichiarare una variabile PHP denominata "$ htmlString". Questa variabile contiene il codice HTML che verrà analizzato per i "<h1>" tag recuperare. Ad esempio, "$ htmlString" contiene il testo HTML "<html> <head> </ head> <body> <h1> prima di intestazione </ h1> <h1> seconda intestazione </ h1> </ body> </ html > ".

<? Php

$ HtmlString = "<html> <head> </ head> <body> <h1> prima di intestazione </ h1> <h1> seconda intestazione </ h1> </ body> </ html>";

?>

3 Dichiarare una seconda variabile PHP chiamata "$ matchPattern". Questa variabile contiene i valori trovati in "$ htmlString" che dovrebbe essere inverosimile, i valori tra i "<h1>" e "</ h1>" tag. Utilizzare un'espressione regolare per creare la variabile "$ matchPattern".

<? Php

$ HtmlString = "<html> <head> </ head> <body> <h1> prima di intestazione </ h1> <h1> seconda intestazione </ h1> </ body> </ html>";

$ MatchPattern = "/<h1>(.*?)<\/h1>/";

?>

4 Utilizzare la funzione PHP "preg_match_all" per eseguire una corrispondenza espressione regolare sulla variabile "$ htmlString" utilizzando il "$ matchPattern" espressione regolare. La funzione "preg_match_all" prende quattro argomenti: "$ matchPattern" (il modello per abbinare, o "/<h1>(.*?)<\/h1>/"), "$ htmlString" (la stringa da cercare per la pattern), "$ foundIt" (la serie di partite), e una bandiera opzionale (PREG_PATTERN_ORDER) che ordina i risultati.

<? Php

$ HtmlString = "<html> <head> </ head> <body> <h1> prima di intestazione </ h1> <h1> seconda intestazione </ h1> </ body> </ html>";

$ MatchPattern = "/<h1>(.*?)<\/h1>/";

preg_match_all ($ matchPattern, $ htmlString, $ foundIt, PREG_PATTERN_ORDER);

?>

5 Utilizzare il PHP "echo" lingua costrutto per stampare il testo tra la prima serie di "<h1>" e "</ h1>" tag trovato nella variabile "$ htmlString". La funzione PHP "preg_match_all" restituisce un array multidimensionale, in modo da utilizzare le staffe per indicare che la prima stringa corrispondente deve essere restituito.

<? Php

$ HtmlString = "<html> <head> </ head> <body> <h1> prima di intestazione </ h1> <h1> seconda intestazione </ h1> </ body> </ html>";

$ MatchPattern = "/<h1>(.*?)<\/h1>/";

preg_match_all ($ matchPattern, $ htmlString, $ foundIt, PREG_PATTERN_ORDER);

echo $ foundIt [1] [0]

?>

6 Utilizzare l'operatore PHP concatenazione ( ".") Per stampare una virgola come separatore subito dopo la prima partita stringa ( ",").

<? Php

$ HtmlString = "<html> <head> </ head> <body> <h1> prima di intestazione </ h1> <h1> seconda intestazione </ h1> </ body> </ html>";

$ MatchPattern = "/<h1>(.*?)<\/h1>/";

preg_match_all ($ matchPattern, $ htmlString, $ foundIt, PREG_PATTERN_ORDER);

echo $ foundIt [1] [0]. ","

?>

7 Utilizzare il PHP "echo" lingua costrutto per stampare un secondo operatore PHP di concatenazione ( ".") E il testo tra la seconda serie di "<h1>" e "</ h1>" tag trovato nella variabile "$ htmlString". Dal momento che la funzione PHP "preg_match_all" restituisce un array multidimensionale, utilizzare le parentesi per indicare che la seconda stringa corrispondente deve essere restituito.

<? Php

$ HtmlString = "<html> <head> </ head> <body> <h1> prima di intestazione </ h1> <h1> seconda intestazione </ h1> </ body> </ html>";

$ MatchPattern = "/<h1>(.*?)<\/h1>/";

preg_match_all ($ matchPattern, $ htmlString, $ foundIt, PREG_PATTERN_ORDER);

echo $ foundIt [1] [0]. ",". $ FoundIt [1] [1];

?>

8 Aprire "getH1Tags.php" in un browser Web. Verificare che i due "<h1>" tag nella variabile "$ htmlString" sono scritti sulla pagina separati da una virgola.

Consigli e avvertenze

  • Un certo numero di disponibili parser già scritti disponibili che possono essere utilizzati per analizzare i tag HTML in modo rapido ed efficace.
  • Le funzioni PCRE (come preg_match_all ()) sono abilitate di default a cominciare da PHP 4.2.0.
  • Tenete a mente che le espressioni regolari sono potenti e la scrittura può essere altrettanto soggetto a errori, come la scrittura di codice di programmazione.
  • Se il "<h1>" tag viene analizzato contiene attributi, considerare alterando l'espressione regolare.
  • Parsing del codice HTML con le espressioni regolari complicate può portare a codice illeggibile. Se si conosce con certezza la natura del testo contenuto nel "<h1>" tag, le espressioni regolari funzionerà. In caso contrario, prendere in considerazione un parser HTML.