tag:forum.selfhtml.org,2005:/selfProblem mit str_replace – SELFHTML-Forum2010-10-09T14:57:48Zhttps://forum.selfhtml.org/self/2010/oct/9/problem-mit-str_replace/1474776#m1474776Niko3722010-10-09T13:29:57Z2010-10-09T13:29:57ZProblem mit str_replace<p>Servus,</p>
<p>ich schreibe gerade an einer Joomla Komponente und stehe nun vor einem sehr merkwürdigen Problem, das ich mir nicht wirklich erklären kann:</p>
<p>Ich hole ein Array von Bildern aus der Datenbank und möchte jetzt gerne im Titel jedes Bildes \n und \r löschen. Ganz simpel versuche ich das mit</p>
<pre><code class="block language-php">
<span class="token keyword">foreach</span><span class="token punctuation">(</span><span class="token variable">$images</span> <span class="token keyword">as</span> <span class="token variable">$image</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token variable">$image</span><span class="token operator">-></span><span class="token property">name</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"\n"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">""</span><span class="token punctuation">,</span> <span class="token variable">$image</span><span class="token operator">-></span><span class="token property">name</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre>
<p>Komischerweise gibt die Funktion aber für alle Bilder nur "1" (als String) zurück. Die Eingabestrings sind sowas wie "Test 1", "Test 2" und so.</p>
<p>Kann sich (und dann vielleicht auch mir) das jemand erklären?</p>
<p>MfG Niko</p>
https://forum.selfhtml.org/self/2010/oct/9/problem-mit-str_replace/1474777#m1474777Niko3722010-10-09T13:43:40Z2010-10-09T13:43:40ZProblem mit str_replace<p>Ok hat sich erledigt. Hab meinen Fehler gefunden:</p>
<pre><code class="block language-php">
<span class="token operator">></span> <span class="token keyword">foreach</span><span class="token punctuation">(</span><span class="token variable">$images</span> <span class="token keyword">as</span> <span class="token variable">$image</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token operator">></span> <span class="token variable">$image</span><span class="token operator">-></span><span class="token property">name</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"\n"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">""</span><span class="token punctuation">,</span> <span class="token variable">$image</span><span class="token operator">-></span><span class="token property">name</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token operator">></span> <span class="token punctuation">}</span>
</code></pre>
<p>Ich habe $image-name statt $image->name (das > vergessen) geschrieben. Wie das einfache Reinschreiben in dieses Forum schon helfen kann. :D</p>
<p>MfG Niko</p>
https://forum.selfhtml.org/self/2010/oct/9/problem-mit-str_replace/1474778#m1474778dedlfix2010-10-09T14:57:48Z2010-10-09T14:57:48ZProblem mit str_replace<p>Hi!</p>
<blockquote>
<p>Ok hat sich erledigt. Hab meinen Fehler gefunden:<br>
Ich habe $image-name statt $image->name (das > vergessen) geschrieben. Wie das einfache Reinschreiben in dieses Forum schon helfen kann. :D</p>
</blockquote>
<p>Wie so oft hätte ein auf E_ALL gestelltes error_reporting zumindest mit zwei Notice-Meldungen auf Ungereimtheiten aufmerksam gemacht. Die erste Notice hätte es gegeben, weil keine Konstante namens "name" existiert. Die zweite, weil $image sich nicht in einen Integer-Wert konvertieren lässt, denn PHP versucht wegen des "-" etwas auszurechnen, wozu sich Objekte nicht eignen.</p>
<p>Lo!</p>