tag:forum.selfhtml.org,2005:/self alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. – SELFHTML-Forum 2008-11-07T21:19:05Z https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305244#m1305244 ich 2008-11-06T17:00:02Z 2008-11-06T17:00:02Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Hallo.</p> <p>Ich dachte da an sowas wie</p> <pre><code class="block language-php"> <span class="token variable">$temp</span><span class="token operator">=</span><span class="token function">preg_replace</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'/\<img(.*)(?!alt\=".*?")/i'</span><span class="token punctuation">,</span><span class="token string single-quoted-string">'<img alt=""$1'</span><span class="token punctuation">,</span><span class="token variable">$temp</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Das soll also aus <img.* einfach mal <img alt="".* aber nur wenn alt noch nicht vorhanden ist. Und genau das passiert nicht, denn es wird einfach mal überall dazu gepackt und ist dann eben auch mal doppelt vorhanden (einmal leer und einmal mit Text, wenn es denn einen gab).</p> <p>Danke...</p> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305258#m1305258 Cheatah 2008-11-06T17:08:43Z 2008-11-06T17:08:43Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Hi,</p> <blockquote> <p>$temp=preg_replace('/<img(.*)(?!alt=".*?")/i','<img alt=""$1',$temp);<br> Und genau das passiert nicht, denn es wird einfach mal überall dazu gepackt und ist dann eben auch mal doppelt vorhanden</p> </blockquote> <p>natürlich, denn bei "<img " ist obige RegExp bereits erfüllt. Und wenn Du aus dem ".*" ein ".+" machst, ist sie es bei "<img s", wenn das erste Attribut "src" lautet.</p> <blockquote> <p>Danke...</p> </blockquote> <p>Regular Expressions sind *keine* Strukturparser. Eine RegExp reicht für Dein Vorhaben nicht aus.</p> <p>Cheatah</p> <div class="signature">-- <br> X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|<br> X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html<br> X-Will-Answer-Email: No<br> X-Please-Search-Archive-First: Absolutely Yes </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305255#m1305255 LX 2008-11-06T17:11:33Z 2008-11-06T17:11:33Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>(.*) ist wahrscheinlich zu gierig und schnappt sich das vorhandene Alt-Tag.</p> <p>Gruß, LX</p> <div class="signature">-- <br> X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|<br> X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html<br> X-Will-Answer-Email: Unusual<br> X-Please-Search-Archive-First: Absolutely Yes </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305245#m1305245 Felix Riesterer Felix.Riesterer@gmx.net http://www.felix-riesterer.de/ 2008-11-06T17:29:33Z 2008-11-06T17:29:33Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Liebe(r) ich,</p> <blockquote> <p><code class="language-php"><span class="token variable">$temp</span><span class="token operator">=</span><span class="token function">preg_replace</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'/\<img(.*)(?!alt\=".*?")/i'</span><span class="token punctuation">,</span><span class="token string single-quoted-string">'<img alt=""$1'</span><span class="token punctuation">,</span><span class="token variable">$temp</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></p> </blockquote> <p>das ist ungenügend. Im Grunde bräuchtest Du lookahead oder lookbehind, um festzustellen, dass am Ende Deines Tags kein alt-Attribut enthalten ist/war, um es dann nachträglich zu ersetzen.</p> <p>Ich versuche etwas ins Blaue hinein (also ungetestet):</p> <pre><code class="block language-php"><span class="token variable">$gefunden</span> <span class="token operator">=</span> <span class="token function">preg_match_all</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'~(?is)<img (?:(?!alt=").)+/?>~'</span><span class="token punctuation">,</span> <span class="token variable">$html</span><span class="token punctuation">,</span> <span class="token variable">$imgs</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token variable">$gefunden</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">foreach</span> <span class="token punctuation">(</span><span class="token variable">$imgs</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token keyword">as</span> <span class="token variable">$img</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token variable">$img_alt</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'<img '</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'<img alt="" '</span><span class="token punctuation">,</span> <span class="token variable">$img</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$html</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span><span class="token variable">$img</span><span class="token punctuation">,</span> <span class="token variable">$img_alt</span><span class="token punctuation">,</span> <span class="token variable">$html</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> </code></pre> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:) </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305249#m1305249 MudGuard http://www.andreas-waechter.de/ 2008-11-06T18:27:08Z 2008-11-06T18:27:08Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Hi,</p> <blockquote> <p><code class="language-php"><span class="token variable">$gefunden</span> <span class="token operator">=</span> <span class="token function">preg_match_all</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'~(?is)<img (?:(?!alt=").)+/?>~'</span><span class="token punctuation">,</span> <span class="token variable">$html</span><span class="token punctuation">,</span> <span class="token variable">$imgs</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></p> </blockquote> <p>Gegenbeispiel:<br> <code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>img</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>doppelpfeilnachrechts.png<span class="token punctuation">"</span></span> <span class="token attr-name">title</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>==><span class="token punctuation">"</span></span> <span class="token attr-name">alt</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>==><span class="token punctuation">"</span></span><span class="token punctuation">></span></span></code></p> <p>cu,<br> Andreas</p> <div class="signature">-- <br> <a href="http://MudGuard.de/" rel="nofollow noopener noreferrer">Warum nennt sich Andreas hier MudGuard?</a><br> <a href="http://ostereier.andreas-waechter.de/" rel="nofollow noopener noreferrer">O o ostern ...</a><br> Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.<br> </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305247#m1305247 ich 2008-11-07T09:17:53Z 2008-11-07T09:17:53Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Dabei gehen allerdings vorhandene ALT Tags verloren. Ziel soll sein bei fehlendem alt Attribut ein leeres dazu zu packen aber keine vorhandenen zu entfernen/ersetzen.</p> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305246#m1305246 MudGuard http://www.andreas-waechter.de/ 2008-11-07T10:11:32Z 2008-11-07T10:11:32Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Hi,</p> <blockquote> <p>das ist ungenügend. Im Grunde bräuchtest Du lookahead oder lookbehind, um festzustellen, dass am Ende Deines Tags kein alt-Attribut enthalten ist/war, um es dann nachträglich zu ersetzen.</p> <p>Ich versuche etwas ins Blaue hinein (also ungetestet):</p> <p>[code lang=php]$gefunden = preg_match_all('~(?is)<img (?:(?!alt=").)+/?>~', $html, $imgs);</p> </blockquote> <p>Es wäre unfair, nur zu sagen, geht nicht.<br> Nach etwas Nachdenken bin ich jetzt zu diesem Monster gekommen:</p> <p>(?is:<img(?:\s+(?!alt)[a-z]+\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[-._:a-z0-9]*)))*\s*/?>)</p> <p>Hier noch die etwas übersichtlichere Variante:</p> <p>(?isx:                      (?# we are searching case insensitive, across lines, and the regex allows whitespaces)<br> <img                        (?# tag opener)<br>   (?:                       (?# attribe list start)<br>      \s+                    (?# there must be whitespace before the attribute name)<br>      (?!alt)                (?# name of attribute must not be alt - we are searching for img elements without alt attribute)<br>      [a-z]+                 (?# the attribute name - can't be anything but letters )<br>      \s*                    (?# optional whitespace )<br>      =                      (?# the equal character (img does not have any empty attributes, so it must be there))<br>      \s*                    (?# optional whitespace )<br>      (?:                    (?# there are several possibilities for attribute values)<br>         (?:                 (?# 1st variant: in "")<br>           "<br>           [^"]*             (?# 1st " is terminating the value)<br>           "<br>         )<br>         |                   (?# OR )<br>         (?:                 (?# 2nd variant: in '')<br>            '<br>            [^']*            (?# 1st ' is terminating the value)<br>            '<br>         )<br>         |                   (?# OR (3rd variant for HTML only, remove it for XHTML only))<br>         (?:<br>            [-._:a-z0-9]*    (?# 3rd variant: not enclosed, allows limited range of chars)<br>         )<br>      )                      (?# end of attribute value<br>   )*                        (?# attribute list end - attribute number is 0 or more)<br>   \s*                       (?# optional whitespace)<br>   /?                        (?# optional /, remove for HTML only, remove ? for XHTML only)<br>   >                         (?# tag closer)<br> )</p> <p>Ich konnte bisher keinen validen Fall konstruieren, bei dem der Regex einen false positive oder false negative ergeben hätte.<br> Was aber nicht heißt, daß es diesen Fall nicht gibt.<br> Wer einen findet, möge ihn bitte nennen.</p> <p>cu,<br> Andreas</p> <div class="signature">-- <br> <a href="http://MudGuard.de/" rel="nofollow noopener noreferrer">Warum nennt sich Andreas hier MudGuard?</a><br> <a href="http://ostereier.andreas-waechter.de/" rel="nofollow noopener noreferrer">O o ostern ...</a><br> Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.<br> </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305248#m1305248 ich 2008-11-07T10:29:00Z 2008-11-07T10:29:00Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <blockquote> <p>Dabei gehen allerdings vorhandene ALT Tags verloren. Ziel soll sein bei fehlendem alt Attribut ein leeres dazu zu packen aber keine vorhandenen zu entfernen/ersetzen.</p> </blockquote> <p>Oder auch nicht - das lag an was anderem - altlasten :\</p> <p>nun ja - so funktioniert es für die Seiten die ich da durch jage - die geschichte mit dem "==>" kommt allerdings in keiner der Seiten vor</p> <pre><code class="block language-php"> <span class="token variable">$gefunden</span> <span class="token operator">=</span> <span class="token function">preg_match_all</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'~(?is)<img (?:(?!alt=".*?").)+/?>~'</span><span class="token punctuation">,</span> <span class="token variable">$temp</span><span class="token punctuation">,</span> <span class="token variable">$imgs</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token variable">$gefunden</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">foreach</span> <span class="token punctuation">(</span><span class="token variable">$imgs</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token keyword">as</span> <span class="token variable">$img</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token variable">$img_alt</span> <span class="token operator">=</span> <span class="token function">preg_replace</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'/\<img /i'</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'<img alt="" '</span><span class="token punctuation">,</span> <span class="token variable">$img</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$temp</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span><span class="token variable">$img</span><span class="token punctuation">,</span> <span class="token variable">$img_alt</span><span class="token punctuation">,</span> <span class="token variable">$temp</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> </code></pre> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305250#m1305250 Felix Riesterer Felix.Riesterer@gmx.net http://www.felix-riesterer.de/ 2008-11-06T23:24:11Z 2008-11-06T23:24:11Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Lieber MudGuard,</p> <blockquote> <p><code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>img</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>doppelpfeilnachrechts.png<span class="token punctuation">"</span></span> <span class="token attr-name">title</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>==><span class="token punctuation">"</span></span> <span class="token attr-name">alt</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>==><span class="token punctuation">"</span></span><span class="token punctuation">></span></span></code></p> </blockquote> <p>meines Wissens ist alt="==>" invalides Markup, da das > im Attributwert XML/HTML-codiert werden muss. Liege ich damit etwa falsch?</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:) </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305254#m1305254 Kai345 kai345@knrs.de http://knrs.de 2008-11-06T23:36:20Z 2008-11-06T23:36:20Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>[latex]Mae  govannen![/latex]</p> <blockquote> <blockquote> <p><code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>img</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>doppelpfeilnachrechts.png<span class="token punctuation">"</span></span> <span class="token attr-name">title</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>==><span class="token punctuation">"</span></span> <span class="token attr-name">alt</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>==><span class="token punctuation">"</span></span><span class="token punctuation">></span></span></code></p> </blockquote> <p>meines Wissens ist alt="==>" invalides Markup, da das > im Attributwert XML/HTML-codiert werden muss. Liege ich damit etwa falsch?</p> </blockquote> <p>Vali, das Ohr meckert nicht, wenn ich das in ein entsprechendes Dokument stecke, weder bei HTML4.01 transitional noch XHTML transtitional odetr strict</p> <p>Cü,</p> <p><a href="http://www.kaichen.in/selfhtml/" rel="nofollow noopener noreferrer">Kai</a></p> <div class="signature">-- <br> Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul<br> selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?<br> <a href="http://www.kaichen.in/selfhtml/" rel="nofollow noopener noreferrer">Mein Selfhtml-Kram</a> </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305251#m1305251 MudGuard http://www.andreas-waechter.de/ 2008-11-07T07:43:58Z 2008-11-07T07:43:58Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Hi,</p> <blockquote> <blockquote> <p><code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>img</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>doppelpfeilnachrechts.png<span class="token punctuation">"</span></span> <span class="token attr-name">title</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>==><span class="token punctuation">"</span></span> <span class="token attr-name">alt</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>==><span class="token punctuation">"</span></span><span class="token punctuation">></span></span></code><br> meines Wissens ist alt="==>" invalides Markup, da das > im Attributwert XML/HTML-codiert werden muss. Liege ich damit etwa falsch?</p> </blockquote> </blockquote> <p>Ja, da liegst Du falsch. < muß im Attributwert kodiert werden, > nicht.</p> <p>cu,<br> Andreas</p> <div class="signature">-- <br> <a href="http://MudGuard.de/" rel="nofollow noopener noreferrer">Warum nennt sich Andreas hier MudGuard?</a><br> <a href="http://ostereier.andreas-waechter.de/" rel="nofollow noopener noreferrer">O o ostern ...</a><br> Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.<br> </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305252#m1305252 Felix Riesterer Felix.Riesterer@gmx.net http://www.felix-riesterer.de/ 2008-11-07T09:16:01Z 2008-11-07T09:16:01Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Lieber MudGuard,</p> <blockquote> <p>Ja, da liegst Du falsch. < muß im Attributwert kodiert werden, > nicht.</p> </blockquote> <p>danke für die Klarstellung. In diesem Punkt habe ich anscheinend Wissensnachholbedarf. Sollte mich da mal (wieder?) genauer einlesen...</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:) </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305253#m1305253 Gunnar Bittersmann selfhtml@bittersmann.de http://bittersmann.de/ 2008-11-07T10:03:27Z 2008-11-07T10:03:27Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>@@Felix Riesterer:</p> <blockquote> <blockquote> <p>Ja, da liegst Du falsch. < muß im Attributwert kodiert werden, > nicht.</p> </blockquote> <p>danke für die Klarstellung. In diesem Punkt habe ich anscheinend Wissensnachholbedarf. Sollte mich da mal (wieder?) genauer einlesen...</p> </blockquote> <p>Falls ja: <a href="http://edition-w3c.de/TR/2000/REC-xml-20001006/#NT-AttValue" rel="nofollow noopener noreferrer">Regel [10]</a> in der XML-Spec. (kein Bock auf SGML ;-))</p> <p>Live long and prosper,<br> Gunnar</p> <div class="signature">-- <br> Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau) </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305257#m1305257 Gunnar Bittersmann selfhtml@bittersmann.de http://bittersmann.de/ 2008-11-06T17:26:49Z 2008-11-06T17:26:49Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>@@LX:</p> <blockquote> <p>(.*) ist wahrscheinlich zu gierig und schnappt sich das vorhandene Alt-Tag.</p> </blockquote> <p>Ein Alt-Tag ist eine Kennzeichnung, die <a href="http://de.wikipedia.org/wiki/Verleihnix#Automatix" rel="nofollow noopener noreferrer">Automatix</a> an das Fischregal von <a href="http://de.wikipedia.org/wiki/Verleihnix#Verleihnix" rel="nofollow noopener noreferrer">Verleihnix</a> nagelt?</p> <p>Du hast die <a href="http://meiert.com/de/publications/articles/20060924/" rel="nofollow noopener noreferrer">5%-Hürde</a> geschafft. ;-)</p> <p>Live long and prosper,<br> Gunnar</p> <div class="signature">-- <br> Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau) </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305256#m1305256 ich 2008-11-07T08:33:00Z 2008-11-07T08:33:00Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <blockquote> <p>(.*) ist wahrscheinlich zu gierig...</p> </blockquote> <p>ich hatte verschiedene Variationen ausprobiert gehabt und da stand auch mal .*? wo jetzt nur .* steht - funktionierte natürlich auch nicht.</p> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305259#m1305259 Felix Riesterer Felix.Riesterer@gmx.net http://www.felix-riesterer.de/ 2008-11-06T17:30:23Z 2008-11-06T17:30:23Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Lieber Cheatah,</p> <blockquote> <p>Regular Expressions sind *keine* Strukturparser.</p> </blockquote> <p>das stimmt.</p> <blockquote> <p>Eine RegExp reicht für Dein Vorhaben nicht aus.</p> </blockquote> <p>Das stimmt nicht.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:) </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305261#m1305261 Gunnar Bittersmann selfhtml@bittersmann.de http://bittersmann.de/ 2008-11-06T17:33:24Z 2008-11-06T17:33:24Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>@@Felix Riesterer:</p> <blockquote> <blockquote> <p>Eine RegExp reicht für Dein Vorhaben nicht aus.</p> </blockquote> <p>Das stimmt nicht.</p> </blockquote> <p>Eigentlich doch. Es sei denn, man benutzt den Begriff „regulärer Ausdruck“ fälschlicherweise auch für Suchmuster, die keine regulären Ausdrücke sind.</p> <p>Live long and prosper,<br> Gunnar</p> <div class="signature">-- <br> Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau) </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305260#m1305260 Cheatah 2008-11-06T22:09:04Z 2008-11-06T22:09:04Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Hi,</p> <blockquote> <blockquote> <p>Eine RegExp reicht für Dein Vorhaben nicht aus.<br> Das stimmt nicht.</p> </blockquote> </blockquote> <p>es stimmt nicht, dass das nicht stimmt.</p> <p>Cheatah</p> <div class="signature">-- <br> X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|<br> X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html<br> X-Will-Answer-Email: No<br> X-Please-Search-Archive-First: Absolutely Yes </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305262#m1305262 Felix Riesterer Felix.Riesterer@gmx.net http://www.felix-riesterer.de/ 2008-11-06T17:35:03Z 2008-11-06T17:35:03Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Lieber Gunnar,</p> <blockquote> <p>Es sei denn, man benutzt den Begriff „regulärer Ausdruck“ fälschlicherweise auch für Suchmuster, die keine regulären Ausdrücke sind.</p> </blockquote> <p>aha, sowas gibt es? Ich kann Dir gerade nicht ganz folgen. Hättest Du mir da ein Beispiel für ein Suchmuster, das keinen regulären Ausdruck in dem von Dir verstandenen Sinne darstellt?</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:) </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305263#m1305263 Gunnar Bittersmann selfhtml@bittersmann.de http://bittersmann.de/ 2008-11-06T17:45:35Z 2008-11-06T17:45:35Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>@@Felix Riesterer:</p> <blockquote> <p>Hättest Du mir da ein Beispiel für ein Suchmuster, das keinen regulären Ausdruck in dem von Dir verstandenen Sinne darstellt?</p> </blockquote> <p>Suchmuster mit lookahead oder lookbehind. Sowas gibt´s in <a href="http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck#Theoretische_Grundlagen" rel="nofollow noopener noreferrer">regulären Ausdrücken</a> nicht.</p> <p>Live long and prosper,<br> Gunnar</p> <div class="signature">-- <br> Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau) </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305266#m1305266 Gunnar Bittersmann selfhtml@bittersmann.de http://bittersmann.de/ 2008-11-07T12:42:57Z 2016-05-04T10:46:49Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>@@Gunnar Bittersmann:</p> <blockquote> <p>Suchmuster mit lookahead oder lookbehind. Sowas gibt´s in [link:http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck#Theoretische_Grundlagen@title=regulären Ausdrücken] nicht.</p> </blockquote> <p>Ich hol dazu mal noch etwas weiter aus:</p> <p>Sei A ein regulärer Ausdruck. Laut der <a href="http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck#Theoretische_Grundlagen" rel="nofollow noopener noreferrer">Definition</a> regulärer Ausdrücke wäre A* auch ein regulärer Ausdruck. A? und A+ wären keine regulären Ausdrücke.</p> <p>Führen wir noch folgende Schreibweisen ein:</p> <pre><code class="block"> (1)      A? = ε | A  (2)      A+ = A A*  (3)    A{0} = ε  (4)    A{n} = A A{n-1}       n∈ℕ; n≥1  (5)   A(n,} = A{n} A*        n∈ℕ  (6)   A{,n} = (A?){n}        n∈ℕ  (7)  A{m,n} = A{m} A{,n-m}   m,n∈ℕ; m≤n </code></pre> <p>Sei a ein Zeichen des Alphabets, φ eine Auflistung von Zeichen (min. 1) des Alphabets, ψ die Auflistung aller nicht in φ enthaltener Zeichen des Alphabets, ω die Auflistung aller Zeichen des Alphabets. Dann führen wir noch folgende Schreibweisen ein:</p> <pre><code class="block"> (8)      [] = ε  (9)     [a] = a (10)    [aφ] = a | [φ] (11)    [^φ] = [ψ] (12)       . = [ω] </code></pre> <p>Die Einführung von [a-z] spar ich mir jetzt mal; dazu müsste man erstmal das Alphabet nicht als (ungeordnete) Menge definieren, sondern als geordnete Liste (coded character set).</p> <p>Alle diese Schreibweisen bringen aber nichts qualitativ Neues. Sie lassen sich in die laut Definition erlaubte Schreibweise überführen.</p> <p>Beispiel:</p> <pre><code class="block">[abc]{2,3} = [abc]{2} [abc]{,1}                                nach (7)            = [abc] [abc]{1} [abc]?{1}                          nach (4) und (6)            = [abc] [abc] [abc]{0} [abc]? [abc]?{0}             nach (4)            = [abc] [abc] [abc]?                                nach (3)            = [abc] [abc] (ε | [abc])                           nach (1)            = (a | [bc]) (a | [bc]) (ε | (a | [bc]))            nach (10)            = (a | b | [c]) (a | b | [c]) (ε | (a | b | [c]))   nach (10)            = (a | b | c) (a | b | c) (ε | (a | b | c))         nach (9) </code></pre> <p>Nicht so aber bei <a href="http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck#Look-around_assertions" rel="nofollow noopener noreferrer">look-around assertions</a>: „Diese Konstrukte erweitern die regulären Ausdrücke um die Möglichkeit, kontextsensitive Bedingungen zu formulieren […]“ Kontextsensitiv, aber nicht regulär. (<a href="http://de.wikipedia.org/wiki/Chomsky-Hierarchie" rel="nofollow noopener noreferrer">Chomsky-Hierarchie</a>)</p> <p>Solche Suchmuster sind keine regulären Ausdrücke. Man sollte sie also IMHO nicht so bezeichnen. Die <a href="http://en.wikipedia.org/wiki/Regular_expression#Patterns_for_non-regular_languages" rel="nofollow noopener noreferrer">englische Wikipedia</a> geht auf dieses Problem ein.</p> <p>„Aber wem erzähle ich das? Dem wissend zwinkernden? Wahrscheinlich doch nur dem Archiv.“ [<a href="http://community.de.selfhtml.org/zitatesammlung/zitat235" rel="nofollow noopener noreferrer">at</a>]</p> <p>Live long and prosper, Gunnar</p> <div class="signature">-- <br> Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau) </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305264#m1305264 Felix Riesterer Felix.Riesterer@gmx.net http://www.felix-riesterer.de/ 2008-11-07T14:58:46Z 2008-11-07T14:58:46Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Lieber Gunnar,</p> <blockquote> <p>Suchmuster mit lookahead oder lookbehind. Sowas gibt´s in <a href="http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck#Theoretische_Grundlagen" rel="nofollow noopener noreferrer">regulären Ausdrücken</a> nicht.</p> </blockquote> <p>und was sagt mir das für meine programmiererischen Tätigkeiten? Dass Cheatah Recht hat, weil diese Genauigkeit in der Fachterminologie ihm eben Recht gibt, oder dass ich Recht habe, da das Werkzeug dieser Suchmuster-Funktionen wie preg_replace() eine solche Ersetzung <a href="https://forum.selfhtml.org/?t=179019&m=1181204" rel="noopener noreferrer">zuverlässig ermöglicht</a>?</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:) </div> https://forum.selfhtml.org/self/2008/nov/6/alt-zu-allen-img-tags-hinzufuegen-falls-nicht-vorhanden/1305265#m1305265 MudGuard http://www.andreas-waechter.de/ 2008-11-07T21:19:05Z 2008-11-07T21:19:05Z alt="" zu allen <img> tags hinzufügen falls nicht vorhanden. <p>Hi,</p> <blockquote> <p>da das Werkzeug dieser Suchmuster-Funktionen wie preg_replace() eine solche Ersetzung <a href="https://forum.selfhtml.org/?t=179019&m=1181204" rel="noopener noreferrer">zuverlässig ermöglicht</a>?</p> </blockquote> <p>Zuverlässig? Nur weil die Korrektheit noch nicht widerlegt ist ...</p> <p>cu,<br> Andreas</p> <div class="signature">-- <br> <a href="http://MudGuard.de/" rel="nofollow noopener noreferrer">Warum nennt sich Andreas hier MudGuard?</a><br> <a href="http://ostereier.andreas-waechter.de/" rel="nofollow noopener noreferrer">O o ostern ...</a><br> Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.<br> </div>