tag:forum.selfhtml.org,2005:/self
Regexp JS Problem – SELFHTML-Forum
2007-01-22T10:58:19Z
https://forum.selfhtml.org/self/2007/jan/22/regexp-js-problem/1069831#m1069831
Jens Peters
peters@moltomedia.de
2007-01-22T10:41:19Z
2007-01-22T10:41:19Z
Regexp JS Problem
<p>Hi,</p>
<p>ich habe folgenden Code:</p>
<pre><code class="block language-html">
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>p</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>test<span class="token punctuation">"</span></span> <span class="token special-attr"><span class="token attr-name">style</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token value css language-css"><span class="token property">font-size</span><span class="token punctuation">:</span> 120px<span class="token punctuation">;</span> <span class="token property">color</span><span class="token punctuation">:</span>#bba<span class="token punctuation">;</span></span><span class="token punctuation">"</span></span></span><span class="token punctuation">></span></span>Test<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>p</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>text/javascript<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token script"><span class="token language-javascript">
inhalt <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"test"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>outerHTML<span class="token punctuation">.</span><span class="token function">toLowerCase</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> Teil <span class="token operator">=</span> inhalt<span class="token punctuation">.</span><span class="token function">replace</span><span class="token punctuation">(</span><span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">font-size:.</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">,</span> <span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">alert</span><span class="token punctuation">(</span>Teil<span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span>
</code></pre>
<p>Ich will font-size per Script ganz entfernen! Mit replace(/font-size:./, "") geht schon mal die font-size weg aber px; bleiben stehen!</p>
<p>Leider stehe ich oft bei regulären Ausdrücken oft auf dem Schlauch und habe schon /font-size:./*/px;$/ versucht jedoch ohne Erfolg</p>
<p>Wer kann helfen</p>
<p>gruß</p>
<p>Jens</p>
https://forum.selfhtml.org/self/2007/jan/22/regexp-js-problem/1069832#m1069832
Mathias Brodala
http://noctus.net
2007-01-22T10:58:19Z
2007-01-22T10:58:19Z
Regexp JS Problem
<p>Hallo Jens.</p>
<blockquote>
<p>ich habe folgenden Code:</p>
<pre><code class="block language-html"></code></pre>
</blockquote>
<blockquote>
<p><p id="test" style="font-size: 120px; color:#bba;">Test</p></p>
<p><script type="text/javascript"><br>
inhalt = document.getElementById("test").outerHTML.toLowerCase();</p>
<p>var Teil = inhalt.replace(/font-size:./, "");<br>
alert(Teil);<br>
</script></p>
</blockquote>
<pre><code class="block">
>
> Ich will font-size per Script ganz entfernen!
Dann mache dies doch einfach wie folgt:
`document.getElementById('test').style.fontSize = '';`{:.language-javascript}
> Mit replace(/font-size:./, "") geht schon mal die font-size weg aber px; bleiben stehen!
Es passiert also exakt das, was du mit deinem regulären Ausdruck erzielen wolltest. Und warum arbeitest du eigentlich mit der outerHTML-Eigenschaft, die nicht jeder Client versteht?
> Leider stehe ich oft bei regulären Ausdrücken oft auf dem Schlauch und habe schon /font-size:./\*/px;$/ versucht jedoch ohne Erfolg
Überlege noch einmal genauer, wonach du suchen möchtest:
1) „font-size:“
2) ein oder keine Leerzeichen
3) eine Zahl
4) „px“
Ein mögliches Resultat könnte also wie folgt aussehen:
~~~javascript
var inhalt = document.getElementById("test").outerHTML.toLowerCase();
alert(inhalt.replace(/font-size:[ ]*[0-9]+px/, ''));
</code></pre>
<p>Einen schönen Montag noch.</p>
<p>Gruß, Mathias</p>
<div class="signature">-- <br>
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)<br>
debian/rules
</div>