2009-07-08 8 views
0

Im Désolé pour mon mauvais anglaisComment obtenir tout le texte dans une page html, seulement entre deux étiquettes

J'ai besoin d'aide pour mon problème. Quand nous nous avons trouvé HTML TAG open source de la page de la page HTML comme Google,: (dans ce Google a trouvé mon string)

<!doctype html><head><title>bla bla bla 
<ol><li class="g w0"><h3 class=r>**bla bla bla..**</div></ol> 
<ol><li class="g w0"><h3 class=r>**bla bla bla..**</div></ol> 
<ol><li class="g w0"><h3 class=r>**bla bla bla..**</div></ol> 
</script> <!-- end with no </html> ?? --> 

et mon problème est: Comment PHP obtenir toutes les chaînes entre <ol> .. </ol >, mais conserver le TAG HTML (inclus <de> et </ol >). Donc, toutes les chaînes avant la première <de> et après la dernière </ol >, ou toute la chaîne entre </ol > et la suivante <de> seront supprimées ou ne s'afficheront pas. Je peux le faire en VB mais je ne peux pas le faire en PHP. Merci

Répondre

0

J'espère que je comprends votre question correctement, mais sinon, je m'excuse. Commençons par une note de côté: La méthode que vous utilisez pour obtenir le résultat que vous recherchez dans VB devrait être la même que celle que vous utiliserez en PHP, mais avec une syntaxe différente, je présume. Ceci étant dit, si vous cherchez uniquement les listes ordonnées sur la page, je vous recommande de le faire avec un traitement XML. En utilisant XPATH, vous devriez être en mesure d'obtenir un tableau de <ol>...</ol> éléments. Je prendrais alors ceux et construirais la page basée de cela. Juste en utilisant Regex pourrait être douloureux par la chaîne html suivante: <ol><li><ol><li>subdata1</li></ol></li></ol>. Ce que vous voulez est le tout élément <ol>, mais à moins que vous êtes intelligent w/regex, vous très probablement avec: <ol><li><ol><li>subdata1</li></ol> et rater le dernier </li></ol>

Quoi qu'il en soit, juste une pensée. Je chercherais d'abord à réécrire votre application VB en PHP, mais si ce n'est pas possible, je vous recommande de lire un peu sur le traitement de XML avec PHP en utilisant les requêtes XPATH.

0

Vous pouvez utiliser les fonctions de chaîne PHP, les fonctions d'expression régulière php ou les fonctions d'analyse XML.

Le plus rapide serait d'utiliser des fonctions de chaînes comme strpos() et substr(). Cependant, les expressions régulières avec preg_match() ou les fonctions XML comme avec SimpleXML sont plus faciles à utiliser.

0

Ce mon code VB:

Dim start_string As String
Dim end_string As String
dim g sous forme de chaîne

On Error Resume Next
start_string = " <tr> "
end_string = " </tr > "
st = 1
Data = (URL)

s = InStr (st, données, start_string, 1)
Alors que s d = InStr (Len (start_string) + s, données, end_string, 1)
g = Moyenne (Data, s, d - s + Len (end_string))
DoEvents

g = garniture (g)
st = d + 1
s = InStr (st, Données, start_string, 1)
Wend