My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant
Geen idee of het werkt, maar je zou daarmee al in de buurt moeten komen
Daarbij komt nog dat als er een > tussen de quotes staat, het ook fout zou gaat
My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant
Dat mag in correcte XML niet voorkomen, aangezien een > daar naar zijn bijbehorende entity vertaald zou moeten worden. Is het verder niet zo dat in valide XML geen enkele quotes gebruikt mogen worden, en het gebruik van géén quotes ook niet is toegestaan? Dat zou het zaakje een stuk eenvoudiger maken.Jurgle schreef op woensdag 22 februari 2006 @ 22:46:
Daar kan ik toch niet op splitten? daar kan ik enkel op matchen...
Daarbij komt nog dat als er een > tussen de quotes staat, het ook fout zou gaat
Mocht het niet lukken met een regexp dan zijn er ook allerlei XML/DOM functies die je kan gebruiken, of je maakt zelf een stackbased parser.
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.
De output is correcte X(HT)ML.
Daarom maakt ik liever gebruik van een regexp dan van bestaand DOM spul.
My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant
Je vergeet mijn tweede alternatieve optie, die over het algemeen een stuk robuuster te maken is.Jurgle schreef op woensdag 22 februari 2006 @ 23:15:
Daarom maakt ik liever gebruik van een regexp dan van bestaand DOM spul.
[ Voor 12% gewijzigd door NMe op 22-02-2006 23:17 ]
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.
1
| preg_match_all('/(?:\s*)(\w+)=([\'"]?)(.*?)\\2(?=(\s|\s*\/?>))/', $str, $match); |
[ Voor 7% gewijzigd door crisp op 22-02-2006 23:23 ]
Intentionally left blank
My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant
Waardevolle tip!crisp schreef op woensdag 22 februari 2006 @ 23:18:
Ik denk dat je eerst complete tags moet matchen, en daarbinnen pas de attributen eruit moet filteren met zoiets:
PHP:
1 preg_match_all('/(?:\s)(\w+)=([\'"]?)(.*?)\\2(?=[\s\/>])/', $str, $match);
My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant
pattern: '/((<\s*\w)|(\/?\s*>)|(\s+\w+=([\'"]?).*?\\5(?=[\s\/>])))/'
Met dank aan Crisp voor de aanzet
Note van -NMe- dat dit pattern ook niet valide XML matched
[ Voor 8% gewijzigd door Jurgle op 23-02-2006 00:12 ]
My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant