tag:forum.selfhtml.org,2005:/selfpreg_replace, Ausgabeproblem – SELFHTML-Forum2011-09-19T08:32:16Zhttps://forum.selfhtml.org/self/2011/sep/18/preg_replace-ausgabeproblem/1525647#m1525647Sandra2011-09-18T12:45:45Z2011-09-18T12:45:45Zpreg_replace, Ausgabeproblem<p>Ich möchte mittels preg_replace prüfen ob nur Buchstaben in meiner Ariable<br>
sind, bei einem Fehler wie einer Zahl soll es eine Fehlermeldung geben!<br>
Aber es haut nicht hin so wie ich es will?</p>
<p>$test='testwort1';</p>
<p>if (preg_replace ( '~[^a-z/>]~i', '',$test ))<br>
{<br>
echo 'Verbotenes Zeichen!';<br>
};</p>
https://forum.selfhtml.org/self/2011/sep/18/preg_replace-ausgabeproblem/1525650#m1525650ChrisB2011-09-18T12:50:27Z2011-09-18T12:50:27Zpreg_replace, Ausgabeproblem<p>Hi,</p>
<blockquote>
<p>Ich möchte mittels preg_replace prüfen ob nur Buchstaben in meiner Ariable<br>
sind, bei einem Fehler wie einer Zahl soll es eine Fehlermeldung geben!<br>
Aber es haut nicht hin so wie ich es will?</p>
<p>$test='testwort1';</p>
<p>if (preg_replace ( '~[^a-z/>]~i', '',$test ))<br>
{<br>
echo 'Verbotenes Zeichen!';<br>
};</p>
</blockquote>
<p>Biete lies im Handbuch nach, was der Rückgabewert von preg_replace ist und aussagt. Und lass dir mittels var_dump ausgeben, was dein preg_replace im konkreten Fall zurückgibt.</p>
<p>Wenn du wirklich nur prüfen willst – dann verwende preg_match.</p>
<p>MfG ChrisB</p>
<div class="signature">-- <br>
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
</div>
https://forum.selfhtml.org/self/2011/sep/18/preg_replace-ausgabeproblem/1525648#m1525648tk2011-09-18T12:51:27Z2011-09-18T12:51:27Zpreg_replace, Ausgabeproblem<p>Hallo Sandra,</p>
<blockquote>
<p>if (preg_replace</p>
</blockquote>
<p>Du möchtest mal ins Handbuch schauen was preg_replace() eigentlich zurück gibt - und anschließend möchtest du feststellen dass preg_match() für deinen Zweck hilfreicher ist.</p>
<blockquote>
<p>( '~[^a-z/>]~i', '',$test ))</p>
</blockquote>
<p>Was genau haben / und > in der Zeichenklasse zu suchen?</p>
<blockquote>
<p>{<br>
echo 'Verbotenes Zeichen!';<br>
};</p>
</blockquote>
<p>Was bezweckst du mit dem Semikolon hinter »}«?</p>
<p>Gruß,<br>
Tobias</p>
https://forum.selfhtml.org/self/2011/sep/18/preg_replace-ausgabeproblem/1525649#m1525649Moritz2011-09-19T08:32:16Z2011-09-19T08:32:16ZLösungsansatz : preg_replace<p>Ich hab das mit "preg_replace" so gemacht. Aber vieleicht gibt es auch noch eine einfache kürzere Möglichkeit.</p>
<p>Moritz</p>
<pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token comment">// Das Passwort </span>
<span class="token variable">$passwort</span> <span class="token operator">=</span><span class="token string single-quoted-string">'123Ü456'</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span><span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$passwort</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token variable">$neu</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">'~[^a-z0-9]~i'</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">''</span><span class="token punctuation">,</span><span class="token variable">$passwort</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$a</span> <span class="token operator">=</span> <span class="token function">strlen</span><span class="token punctuation">(</span><span class="token variable">$passwort</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$b</span> <span class="token operator">=</span> <span class="token function">strlen</span><span class="token punctuation">(</span><span class="token variable">$neu</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">$a</span><span class="token operator">==</span><span class="token variable">$b</span><span class="token punctuation">)</span> <span class="token comment">// Überprüfung ob unerlaubte Zeichen </span>
<span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token function">strlen</span><span class="token punctuation">(</span><span class="token variable">$neu</span><span class="token punctuation">)</span><span class="token operator">></span><span class="token number">4</span><span class="token punctuation">)</span> <span class="token comment">// Überprüfung ob lang genug </span>
<span class="token punctuation">{</span>
<span class="token variable">$infotext</span> <span class="token operator">.=</span><span class="token string single-quoted-string">' Passwort ist OK'</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">else</span>
<span class="token punctuation">{</span>
<span class="token variable">$infotext</span> <span class="token operator">.=</span><span class="token string single-quoted-string">' Das Passwort muss mindestens 5 Zeichen haben! '</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">else</span>
<span class="token punctuation">{</span>
<span class="token variable">$infotext</span> <span class="token operator">.=</span><span class="token string single-quoted-string">'Es sind nur Zeichen A...z und Ziffer 0...9 erlaubt '</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">echo</span> <span class="token variable">$infotext</span><span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>
</code></pre>