Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Telefonnummern in HTML

5 views
Skip to first unread message

Andreas Kohlbach

unread,
Sep 12, 2023, 8:52:16 AM9/12/23
to
Eigentlich sollte ich das können, bekomme es aber auch nach Minuten nicht
hin.

Gegeben sei eine HTML Seite, die etwas wie:

+491234567<br>

hat. Statt "49" können es auch andere Nummern für Länder stehen.

Alle Vorkommnisse sollen durch:

<a class="phone" href="tel:+491234567">+491234567</a><br>

ersetzt werden.

Das erste Zeichen ist immer ein "+", und am Ende steht jeweils ein
"<br>". Allerdings *nicht* (oder nicht unbedingt) am Anfang oder Ende
einer Zeile.

Gerne in Bash, Python oder Perl.
--
Andreas

Stefan Kanthak

unread,
Sep 12, 2023, 10:05:51 AM9/12/23
to
"Andreas Kohlbach" <a...@spamfence.net> schrieb:
AUTSCH!
wie waer's mit sed 's/<regex pattern>/<replacement>/g' ...?

Ungetestet: sed 's/+\([0-9]*\)<br>/<a class="phone" href="tel:+\1">+\1</a><br>/g'

Stefan
--
<https://www.duden.de/rechtschreibung/Kanthaken>

Christian Weisgerber

unread,
Sep 12, 2023, 10:30:09 AM9/12/23
to
On 2023-09-12, Andreas Kohlbach <a...@spamfence.net> wrote:

> Gegeben sei eine HTML Seite, die etwas wie:
>
> +491234567<br>
>
> hat. Statt "49" können es auch andere Nummern für Länder stehen.
>
> Alle Vorkommnisse sollen durch:
>
><a class="phone" href="tel:+491234567">+491234567</a><br>
>
> ersetzt werden.

sed 's!\(+[0-9][0-9]*\)<br>!<a class="phone" href="tel:\1">\1</a><br>!g'

--
Christian "naddy" Weisgerber na...@mips.inka.de

Ulli Horlacher

unread,
Sep 12, 2023, 5:53:53 PM9/12/23
to
Andreas Kohlbach <a...@spamfence.net> wrote:
> Eigentlich sollte ich das können, bekomme es aber auch nach Minuten nicht
> hin.
>
> Gegeben sei eine HTML Seite, die etwas wie:
>
> +491234567<br>
>
> hat. Statt "49" können es auch andere Nummern für Länder stehen.
>
> Alle Vorkommnisse sollen durch:
>
> <a class="phone" href="tel:+491234567">+491234567</a><br>
>
> ersetzt werden.

Trivial mit Perl:

s|(\+\d+)<br>|<a class="phone" href="tel:$1">$1</a><br>|




--
Ullrich Horlacher Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart E-Mail: horl...@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: https://www.tik.uni-stuttgart.de/

Michael Uplawski

unread,
Sep 13, 2023, 1:16:35 AM9/13/23
to
Andreas Kohlbach hat geschrieben:

> Alle Vorkommnisse sollen durch:
>
> <a class="phone" href="tel:+491234567">+491234567</a><br>
>
> ersetzt werden.

... an dieser Stelle passiert dasnn immer etwas, das ich nicht verstehe.
Aus „Alle Vorkommnisse sollen durch xyz ersetzt werden“
wird
„Es muss ein Einzeiler her“
„Wenn er macht, was ich will, umso besser.“

Das erste, das ich in diesen Situationen mache, ist – mir keinen Kopf.

Aber is' ja alles großártig, ganz hervorragend.
--
Es ist an der Zeit

Ulli Horlacher

unread,
Sep 13, 2023, 2:35:26 AM9/13/23
to
Michael Uplawski <michael....@uplawski.eu> wrote:

> ... an dieser Stelle passiert dasnn immer etwas, das ich nicht verstehe.
> Aus ?Alle Vorkommnisse sollen durch xyz ersetzt werden?
> wird
> ?Es muss ein Einzeiler her?
> ?Wenn er macht, was ich will, umso besser.?
>
> Das erste, das ich in diesen Situationen mache, ist ? mir keinen Kopf.
>
> Aber is' ja alles großártig, ganz hervorragend.

Was will uns der Autor damit sagen?
"Ich hab nicht verstanden um was es geht, will aber unbedingt was dazu sagen"

Arno Welzel

unread,
Sep 13, 2023, 7:14:17 AM9/13/23
to
Christian Weisgerber, 2023-09-12 15:43:

> On 2023-09-12, Andreas Kohlbach <a...@spamfence.net> wrote:
>
>> Gegeben sei eine HTML Seite, die etwas wie:
>>
>> +491234567<br>
>>
>> hat. Statt "49" können es auch andere Nummern für Länder stehen.
>>
>> Alle Vorkommnisse sollen durch:
>>
>> <a class="phone" href="tel:+491234567">+491234567</a><br>
>>
>> ersetzt werden.
>
> sed 's!\(+[0-9][0-9]*\)<br>!<a class="phone" href="tel:\1">\1</a><br>!g'

Achtung! Ein "+" darf man *nicht* als "+" in die URL schreiben! Das muss
codiert werden als %2B - sonst wird es als Leerzeichen interpretiert,
weil "+" der Platzhalter für Leerzeichen in URLs ist.

--
Arno Welzel
https://arnowelzel.de

Arno Welzel

unread,
Sep 13, 2023, 7:15:40 AM9/13/23
to
Andreas Kohlbach, 2023-09-12 14:52:

> Eigentlich sollte ich das können, bekomme es aber auch nach Minuten nicht
> hin.
>
> Gegeben sei eine HTML Seite, die etwas wie:
>
> +491234567<br>
>
> hat. Statt "49" können es auch andere Nummern für Länder stehen.
>
> Alle Vorkommnisse sollen durch:
>
> <a class="phone" href="tel:+491234567">+491234567</a><br>
>
> ersetzt werden.

Nein, das willst Du nicht. Das "+" muss codiert sein:


<a class="phone" href="tel:%2B491234567">+491234567</a><br>

Ansonsten wurden hier ja diverse Ansätze mit Regex etc. gezeigt.

Christian Weisgerber

unread,
Sep 13, 2023, 10:30:05 AM9/13/23
to
On 2023-09-13, Arno Welzel <use...@arnowelzel.de> wrote:

>> sed 's!\(+[0-9][0-9]*\)<br>!<a class="phone" href="tel:\1">\1</a><br>!g'
>
> Achtung! Ein "+" darf man *nicht* als "+" in die URL schreiben!

Doch, bei tel-URIs darf bzw. muss man das.

Stefan Kanthak

unread,
Sep 13, 2023, 1:15:10 PM9/13/23
to
"Thomas Noll" <-_tn...@web.de> schrieb:

> Noch trivialer mit echo:
>
> echo "<a class="phone" href="tel:+491234567">+491234567</a><br>"

AUTSCH: bloederweise fehlen die notwendigen Anfuehrungszeichen um
"phone" und "tel:+..." in der Ausgabe!

> Ich hab die Regeln nicht gemacht, ich befolge sie nur :)

Si tacuisses!

wehret den Dummschwaetzern!
Stefan
--
<https://www.duden.de/rechtschreibung/Kanthaken>

Stefan Froehlich

unread,
Sep 14, 2023, 3:27:12 AM9/14/23
to
On Thu, 14 Sep 2023 06:32:13 Andreas Kohlbach wrote:
> On Wed, 13 Sep 2023 13:15:37 +0200, Arno Welzel wrote:
>>> <a class="phone" href="tel:+491234567">+491234567</a>

>> Nein, das willst Du nicht. Das "+" muss codiert sein:
>> <a class="phone" href="tel:%2B491234567">+491234567</a><br>

> AFAIK ist "+" da eine Ausnahme.

Offenbar darf man hier gar nicht codieren:

RFC 3966, Punkt 3:
| [...] If the reserved characters "+", ";", "=", and "?" are used as
| delimiters between components of the "tel" URI, they MUST NOT be
| percent encoded. [...]

Wieder etwas gelernt.

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Stefan!? Ja! Denn werkeln ist gefährlicher als röcheln.
(Sloganizer)

Sieghard Schicktanz

unread,
Sep 15, 2023, 4:13:06 PM9/15/23
to
Hallo Stefan,

Du schriebst am 14 Sep 2023 07:27:09 GMT:

> >>> <a class="phone" href="tel:+491234567">+491234567</a>
...
> Offenbar darf man hier gar nicht codieren:
>
> RFC 3966, Punkt 3:
> | [...] If the reserved characters "+", ";", "=", and "?" are used as
> | delimiters between components of the "tel" URI, they MUST NOT be
> | percent encoded. [...]
>
> Wieder etwas gelernt.

Ja, und dann wäre die Ausgabezeile oben gleich zweimal falsch:
Das erste "+" (hinter "tel") darf dann nicht codiert werden,
das zweite - weil ja nur der angezeigte Text - müßte aber.
Oder?

--
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
-----------------------------------------------------------
Mit freundlichen Grüßen, S. Schicktanz
-----------------------------------------------------------

Peter J. Holzer

unread,
Sep 15, 2023, 4:31:27 PM9/15/23
to
On 2023-09-15 19:01, Sieghard Schicktanz <Sieghard....@SchS.de> wrote:
> Hallo Stefan, Du schriebst am 14 Sep 2023 07:27:09 GMT:
>> >>> <a class="phone" href="tel:+491234567">+491234567</a>
> ...
>> Offenbar darf man hier gar nicht codieren:
[...]
> Ja, und dann wäre die Ausgabezeile oben gleich zweimal falsch:
> Das erste "+" (hinter "tel") darf dann nicht codiert werden,
> das zweite - weil ja nur der angezeigte Text - müßte aber.
> Oder?

Nein. Wie kommst Du darauf, dass man ein Zeichen in HTML-Text
URL-encoden müsste (oder auch nur dürfte)?

hp

Andreas Kohlbach

unread,
Sep 15, 2023, 7:29:24 PM9/15/23
to
Es ging ursprünglich darum, ob das erste "+" in

<a href="tel:+491234567">+491234567</a>

kodiert werden müsste.

On Fri, 15 Sep 2023 22:31:25 +0200, Peter J. Holzer wrote:
>
> On 2023-09-15 19:01, Sieghard Schicktanz <Sieghard....@SchS.de> wrote:
>> Hallo Stefan, Du schriebst am 14 Sep 2023 07:27:09 GMT:
>>> >>> <a class="phone" href="tel:+491234567">+491234567</a>
>> ...
>>> Offenbar darf man hier gar nicht codieren:
> [...]
>> Ja, und dann wäre die Ausgabezeile oben gleich zweimal falsch:
>> Das erste "+" (hinter "tel") darf dann nicht codiert werden,
>> das zweite - weil ja nur der angezeigte Text - müßte aber.
>> Oder?

Ich sah schon:

"http://irknwas.tld/index.php?was1=was_anderes1&was2=was_anderes2&..."

Also "&" und nicht "&amp;"; kein Encoding.

Kann es zudem sein, dass Browser sich das vor dem Absenden passend
machen; es in der Praxis also egal sein sollte?

> Nein. Wie kommst Du darauf, dass man ein Zeichen in HTML-Text
> URL-encoden müsste (oder auch nur dürfte)?

Ein "Kann"?

Ich möchte mal <https://en.wikipedia.org/wiki/Query_string#URL_encoding>
einstreuen angenommen, es spricht die Wahrheit. Daraus:

| Some characters cannot be part of a URL (for example, the space) and
| some other characters have a special meaning in a URL.

Vielleicht "must not" statt "cannot"? Und reden wir vielleicht über
"Query String", der nur bedingt mit einer URL zu tun haben könnte?

F'up infosystems.
--
Andreas

Sieghard Schicktanz

unread,
Sep 16, 2023, 4:13:06 PM9/16/23
to
Hallo Peter,

Du schriebst am Fri, 15 Sep 2023 22:31:25 +0200:

> >> >>> <a class="phone" href="tel:+491234567">+491234567</a>
> [...]
> > Ja, und dann wäre die Ausgabezeile oben gleich zweimal falsch:
> > Das erste "+" (hinter "tel") darf dann nicht codiert werden,
> > das zweite - weil ja nur der angezeigte Text - müßte aber.
> > Oder?
>
> Nein. Wie kommst Du darauf, dass man ein Zeichen in HTML-Text
> URL-encoden müsste (oder auch nur dürfte)?

RFC 3966, Punkt 3:
| [...] If the reserved characters "+", ";", "=", and "?" are used as
| delimiters between components of the "tel" URI, they MUST NOT be
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| percent encoded. [...]

Weil die _Ausnahme_ von der Kodierungspflicht "gewisse" Voraussetzungen
erfordert, die aber nur beim ersten Auftrweten erfüllt sind. Allerdings
hast Du für den zweiten Fall wohl dahingehend recht, daß das ja ein ganz
normaler Anzeigetext ist, in dem ein "+" direkt enthalten sein darf.

Peter J. Holzer

unread,
Sep 16, 2023, 4:40:37 PM9/16/23
to
On 2023-09-16 18:35, Sieghard Schicktanz <Sieghard....@SchS.de> wrote:
> Hallo Peter, Du schriebst am Fri, 15 Sep 2023 22:31:25 +0200:
>
>> >> >>> <a class="phone" href="tel:+491234567">+491234567</a>

Mir fällt erst jetzt auf, dass Du hier das falsche Beispiel zitiert hast.

>> > Ja, und dann wäre die Ausgabezeile oben gleich zweimal falsch:
>> > Das erste "+" (hinter "tel") darf dann nicht codiert werden,
>> > das zweite - weil ja nur der angezeigte Text - müßte aber.
>> > Oder?
>>
>> Nein. Wie kommst Du darauf, dass man ein Zeichen in HTML-Text
>> URL-encoden müsste (oder auch nur dürfte)?
>
> RFC 3966, Punkt 3:
>| [...] If the reserved characters "+", ";", "=", and "?" are used as
>| delimiters between components of the "tel" URI, they MUST NOT be
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>| percent encoded. [...]
>
> Weil die _Ausnahme_ von der Kodierungspflicht "gewisse" Voraussetzungen
> erfordert, die aber nur beim ersten Auftrweten erfüllt sind.

Damit Ausnahmen relevant sind, müsste es aber erst mal eine
Kodierungspflicht geben, was hier ...

> Allerdings hast Du für den zweiten Fall wohl dahingehend recht, daß
> das ja ein ganz normaler Anzeigetext ist, in dem ein "+" direkt
> enthalten sein darf.

... nicht der Fall ist.

hp

Christian Garbs

unread,
Sep 17, 2023, 2:12:21 PM9/17/23
to
Mahlzeit!

Sieghard Schicktanz <Sieghard....@schs.de> wrote:
> Du schriebst am Fri, 15 Sep 2023 22:31:25 +0200:

>> Nein. Wie kommst Du darauf, dass man ein Zeichen in HTML-Text
>> URL-encoden müsste (oder auch nur dürfte)?
>
> RFC 3966, Punkt 3:
> | [...] If the reserved characters "+", ";", "=", and "?" are used as
> | delimiters between components of the "tel" URI, they MUST NOT be
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> | percent encoded. [...]
>
> Weil die _Ausnahme_ von der Kodierungspflicht "gewisse" Voraussetzungen
> erfordert, die aber nur beim ersten Auftrweten erfüllt sind.

Nein, Peter schreib von "HTML-Text". In einem solchen muss man
grundsätzlich kein URI-Encoding machen, das braucht man nur bei URIs.

Er meint nicht <a href="...">, sondern z.B. <p>...</p>

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
Why does my heart feel so bad? (Moby)

Arno Welzel

unread,
Sep 22, 2023, 9:57:36 AM9/22/23
to
Stefan Froehlich, 2023-09-14 09:27:

> On Thu, 14 Sep 2023 06:32:13 Andreas Kohlbach wrote:
>> On Wed, 13 Sep 2023 13:15:37 +0200, Arno Welzel wrote:
>>>> <a class="phone" href="tel:+491234567">+491234567</a>
>
>>> Nein, das willst Du nicht. Das "+" muss codiert sein:
>>> <a class="phone" href="tel:%2B491234567">+491234567</a><br>
>
>> AFAIK ist "+" da eine Ausnahme.
>
> Offenbar darf man hier gar nicht codieren:
>
> RFC 3966, Punkt 3:
> | [...] If the reserved characters "+", ";", "=", and "?" are used as
> | delimiters between components of the "tel" URI, they MUST NOT be
> | percent encoded. [...]
>
> Wieder etwas gelernt.

Ebenso. Danke für den Hinweis.
0 new messages