Den 12-01-22 04.46, Bertel Lund Hansen skrev:
> Hej alle
>
> I PHP kan man lave en løkke på én linje hvor både nummer og
> variabel gennemløbes automatisk:
>
> foreach ($linearray as $nr => $line) { do_something(); }
Jeg kan ikke PHP, så jeg ved ikke om der er mere i det, men måske er det bare
enumerate du mangler:
for no,line in enumerate(linearray):
...
> Jeg har brug for at fjerne HTML-entities fra nogle strenge. Der
> er ikke tale om at de skal HTML-parses. Jeg skal også have
> fjernet HTML-tags.
>
> Hvordan gør man det?
Quick-and-dirty måden er med regulære udtryk, à la:
import re
re.sub(r'</?(html|body|p)[^>]*>', '',
'<html><body><p>Testing, <em>1,2,3</em></p></body></html>')
Tager ikke højde for fx attributværdier der indeholder >-tegn.
Til noget mere poleret kan BeautifulSoup biblioteket formentlig bruges. Selv om
det jo så bliver HTML-parset. Eller man kan raffinere det regulære udtryk.
Entities der bare skal slettes kan tilføjes som alternativer i samme regexp;
hvis de skal erstattes med entity-specifik tekst (æ til æ osv.), så vil
jeg foreslå re.sub med et regulært udtryk der matcher alle entities, og en
replacement-funktion i stedet for tekst (se re.sub doks), og i den funktion
finde erstatningsteksten med et opslag i en dict.
mvh. Anders