D'abord, avant de dire quoi que ce soit, je dois le faire parce que le RSS est mal formé, mais je ne peux pas le corriger de mon côté. Donc, alors que j'ai essayé d'utiliser un RSS et un analyseur XML, ils échouent et je n'ai qu'un accès frontal. Cependant, je suis super proche, mais je ne peux pas comprendre pourquoi cela ne correspond pas.Avec regex, comment puis-je faire correspondre plusieurs fois un tag XML?
L'alimentation (c'est un à long chaîne 1 ligne): http://pastebin.com/5dJhXCvf
Premier exemple:
<title>(.+)</title>
Ce que je pensais fonctionnait très bien avec mon test juste:
<title>"cterrorism task force" location:oregon - Google News</title>
Mais le problème est qu'il correspond à tout alors comme un match, par exemple:
<title>"cterrorism task force" location:oregon - Google News</title><title>"cterrorism task force" location:oregon - Google News</title>
Equals article 1 résultat dans mon tableau de exec()
et match()
Alors j'ai essayé:
<title>([\w\d\s\=\%\_\`\~\+\!\@\#\$\%\^\&\*\(\)\:\'\"\[\]\{\}\|\,\.\/]+)</title>
Mais qui ne renvoie rien ... Des idées?
Ce qui est malformé à propos de l'alimentation? –
Si vous copiez et collez cela dans le validateur W3C, il échoue. Et jQuery ne tentera même pas de l'analyser non plus. J'ai également essayé jFeed mais cela n'a pas fonctionné non plus. Cependant, si je l'appelle avec un texte en-tête, il renvoie bien. J'ai juste besoin du titre et des liens, donc je me suis dit que je pourrais juste analyser le texte, puis utiliser regex. –
Il manque quelques caractères à votre classe de personnage, ce qui était plutôt inévitable avec un monstre comme ça. Si vous voulez une classe de caractères qui ne corresponde à rien sauf les chevrons, utilisez ceci: '[^ <>]' –