2017-08-25 17 views
1

J'ai du code PHP qui automatise certains processus. Parfois, il y a une erreur et je voudrais obtenir plus de données et les enregistrer pour une révision ultérieure.PHP analyse du texte

Alors ce que je cherche est de vérifier s'il y a une erreur, puis extraire les informations

<tr id="part1AModel.errors"> 
       <td colspan="5"> 
        <h3><font color="red">Validation Error</font></h3>You must correct the following error(s) before proceeding: 
        <ul> 

          <li><font color="red">The requested effective date entered is not an expedited date.<br/></font> </li> 

        </ul> 
        For assistance, please contact the Help Desk.<hr> 
       </td></tr> 

Je vérifie avec strpos($input,"part1AModel.errors") > -1 s'il y a une erreur

mais comment puis-je obtenir

Validation Error

et

The requested effective date entered is not an expedited date.?

Nous savons qu'ils sont à la fois à l'intérieur (font color = "red")

+0

Qu'en est-il de l'utilisation de PHP: DOM? http://php.net/manual/es/book.dom.php –

+0

Comment ferais-je pour obtenir tout le texte interne à l'intérieur des éléments? – NoSoup4you

Répondre

1

simple. Avec regex (en considérant que vous ne voulez pas d'analyse syntaxique html plus complexe).

preg_match_all('/<font color=\"red\">(.*?)<\/font>/', $html, $matches); 

La variable $html doit contenir le contenu HTML que vous venez d'envoyer. Le résultat sera enregistré dans $matches.