<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
> <channel><title>Komentarze do: Gramatyka w PHP, część 1</title> <atom:link href="http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/feed/" rel="self" type="application/rss+xml" /><link>http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/</link> <description>Blog programisty/freelancera, w którym znajdziesz przydatne i ciekawe informacje ze świata Web. Poruszane tematyki to przede wszystkim PHP, JavaScript, bazy danych, modelowanie danych i inne. Zapraszam!</description> <lastBuildDate>Sat, 04 Feb 2012 16:02:54 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Autor: buddy</title><link>http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/comment-page-1/#comment-2377</link> <dc:creator>buddy</dc:creator> <pubDate>Thu, 20 Oct 2011 09:09:55 +0000</pubDate> <guid isPermaLink="false">http://blog.kamilbrenk.pl/?p=69#comment-2377</guid> <description>Dobry tekst, przyda mi się to. Pozdrawiam autora.</description> <content:encoded><![CDATA[<p>Dobry tekst, przyda mi się to. Pozdrawiam autora.</p> ]]></content:encoded> </item> <item><title>Autor: Lolzer</title><link>http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/comment-page-1/#comment-106</link> <dc:creator>Lolzer</dc:creator> <pubDate>Fri, 11 Jun 2010 12:54:39 +0000</pubDate> <guid isPermaLink="false">http://blog.kamilbrenk.pl/?p=69#comment-106</guid> <description>@lolkowski, napisałem, że nie tnie linków.&lt;code lang=&quot;php&quot;&gt;
function repairText($text, $encoding  = &#039;UTF-8&#039;) {
$uc_first = true;
$dotItem = &#039;#dot#&#039;;
$dashItem = &#039;#dash#&#039;;
$questionItem = &#039;#quest#&#039;;
$comaItem = &#039;#coma#&#039;;
$text = preg_replace(&#039;/([A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4})/ie&#039;, &#039;str_replace(array(&quot;.&quot;, &quot;-&quot;, &quot;?&quot;, &quot;,&quot;), array($dotItem, $dashItem, $questionItem, $comaItem), &quot;$1$2 &quot;)&#039;, $text);
$text = preg_replace(&#039;#(http[s]?://)([A-Za-z0-9_%\-\.:@]*)([A-Za-z0-9\-]+)\.([A-Za-z0-9\._%\-/\?&amp;=:]*)([^\?!\.,;\s])#ie&#039;, &#039;str_replace(array(&quot;.&quot;, &quot;-&quot;, &quot;?&quot;, &quot;,&quot;), array($dotItem, $dashItem, $questionItem, $comaItem), &quot;$1$2$3.$4$5 &quot;)&#039;, $text);$text = preg_replace(&#039;#\.{1,}\)#i&#039;, &#039;).&#039; ,$text);
$text = preg_replace(&#039;#\.{1,}\&quot;#i&#039;, &#039;&quot;.&#039; ,$text);
$text = preg_replace(&#039;/\s+/&#039;, &#039; &#039;, $text);
$text = preg_replace(&#039;# ([\.,\?!;])#i&#039;, &#039;\\1&#039; ,$text);
$text = preg_replace(&#039;#([\?!;\&quot;\&#039;, ])\\1{1,}#i&#039;,&#039;\\1&#039;,$text);
$text = preg_replace(&#039;#(\.){3,}#i&#039;,&#039;..&#039;,$text);
$text = preg_replace(&#039;#(\.\.)#i&#039;,&#039;...&#039;,$text);
$text = preg_replace(&#039;#([\?!,;])\.*#i&#039;,&#039;\\1&#039;,$text);
$text = preg_replace(&#039;#([^\.])(\.)([\?!,;])#i&#039;,&#039;\\1\\3&#039;,$text);
$text = preg_replace(&#039;#(\?!&#124;!\?){1,}(\?&#124;!)?#i&#039;,&#039;\\1&#039;,$text);
$text = preg_replace(&#039;/\s+/&#039;, &#039; &#039;, $text);
$text = preg_replace(&#039;#([\?!,;\.])([^\p{P}\s])#i&#039;,&#039;\\1 \\2&#039;,$text);$text = htmlspecialchars($text, ENT_NOQUOTES);$text = explode(&#039; &#039;, trim($text));
foreach ($text as &amp;$val) {
if ($uc_first) {if(!ereg(&#039;(http[s]?://)([^ ])+&#039;, $val) &amp;&amp; !ereg(&#039;([\p{P}])&#039;, $val[0]) &amp;&amp; !ereg(&#039;([A-Za-z0-9\-_\.])@([A-Za-z0-9\-_\.)\.([A-Za-z]){2,4}&#039;, $val)){
$val[0] = mb_strtoupper($val[0]);
if($uc_first = true){
$uc_first = false;
}
}
if(ereg(&#039;(http[s]?://)([^ ]){1,}&#039;, $val) &#124;&#124; ereg(&#039;([A-Za-z0-9\-_\.])@([A-Za-z0-9\-_\.)\.([A-Za-z]){2,4}&#039; , $val)){
if(ereg(&#039;([\.,\?!; ])&#039;, substr($val, -1, 1))){
$i = -1;
while(ereg(&#039;([\.,\?!; ])&#039;, substr($val, $i, 1))){
$i--;
}
$i++;
$val = substr($val, 0, $i).&quot; &quot;.substr($val, $i, $i*(-1));
}
}
}
if (
mb_strpos($val, &#039;.&#039;, 0, $encoding) !== false &#124;&#124;
mb_strpos($val, &#039;!&#039;, 0, $encoding) !== false &#124;&#124;
mb_strpos($val, &#039;?&#039;, 0, $encoding) !== false
) {
$uc_first = true;
}if (mb_strlen($val, $encoding) === 1) {
$val = $val . &#039;&#160;&#039;;
}
if ( (mb_strlen($val, $encoding) === 2) &amp;&amp; (($val[1] === &#039;,&#039;) &#124;&#124; ($val[1] === &#039;.&#039;) &#124;&#124; ($val[1] === &#039;!&#039;)) ) {
$val = $val . &#039;&#160;&#039;;
}
}
$text = implode(&#039; &#039;, $text);
$text = str_replace(
array(&#039;&#160; &#039;, $dotItem, $dashItem, $questionItem, $comaItem),
array(&#039;&#160;&#039;, &#039;.&#039;, &#039;-&#039;, &#039;?&#039;, &#039;,&#039;),
$text);
return $text;
}
&lt;/code&gt;Komentarze usunąłem tylko w tym kodzie - u mnie na stronie zostały, ponieważ zachowałem w nich te części kodu, których użył Kamil, a mi były niepotrzebne.Kod brzydki, ale działa. :P</description> <content:encoded><![CDATA[<p>@lolkowski, napisałem, że nie tnie linków.</p><div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> repairText<span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$encoding</span> &nbsp;<span style="color: #339933;">=</span> <span style="color: #0000ff;">'UTF-8'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; <span style="color: #000088;">$uc_first</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; <br /> &nbsp; &nbsp; <span style="color: #000088;">$dotItem</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'#dot#'</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; <span style="color: #000088;">$dashItem</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'#dash#'</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; <span style="color: #000088;">$questionItem</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'#quest#'</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; <span style="color: #000088;">$comaItem</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'#coma#'</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; <br /> &nbsp; &nbsp; <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/([A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4})/ie'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'str_replace(array(&quot;.&quot;, &quot;-&quot;, &quot;?&quot;, &quot;,&quot;), array($dotItem, $dashItem, $questionItem, $comaItem), &quot;$1$2 &quot;)'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; <br /> &nbsp; &nbsp; <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#(http[s]?://)([A-Za-z0-9_%\-\.:@]*)([A-Za-z0-9\-]+)\.([A-Za-z0-9\._%\-/\?&amp;=:]*)([^\?!\.,;\s])#ie'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'str_replace(array(&quot;.&quot;, &quot;-&quot;, &quot;?&quot;, &quot;,&quot;), array($dotItem, $dashItem, $questionItem, $comaItem), &quot;$1$2$3.$4$5 &quot;)'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#\.{1,}\)#i'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">').'</span> <span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#\.{1,}\&quot;#i'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&quot;.'</span> <span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/\s+/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'# ([\.,\?!;])#i'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'\\1'</span> <span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#([\?!;\&quot;\', ])\\1{1,}#i'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'\\1'</span><span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#(\.){3,}#i'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'..'</span><span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#(\.\.)#i'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'...'</span><span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#([\?!,;])\.*#i'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'\\1'</span><span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#([^\.])(\.)([\?!,;])#i'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'\\1\\3'</span><span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#(\?!|!\?){1,}(\?|!)?#i'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'\\1'</span><span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/\s+/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#([\?!,;\.])([^\p{P}\s])#i'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'\\1 \\2'</span><span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <br /> &nbsp; &nbsp; <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">htmlspecialchars</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">ENT_NOQUOTES</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> <br /> &nbsp; &nbsp; <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; <br /> &nbsp; &nbsp; <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span> <span style="color: #b1b100;">as</span> <span style="color: #339933;">&amp;</span><span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$uc_first</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br /> <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'(http[s]?://)([^ ])+'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'([\p{P}])'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'([A-Za-z0-9\-_\.])@([A-Za-z0-9\-_\.)\.([A-Za-z]){2,4}'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$val</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mb_strtoupper</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$uc_first</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$uc_first</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span> <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'(http[s]?://)([^ ]){1,}'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'([A-Za-z0-9\-_\.])@([A-Za-z0-9\-_\.)\.([A-Za-z]){2,4}'</span> <span style="color: #339933;">,</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'([\.,\?!; ])'</span><span style="color: #339933;">,</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'([\.,\?!; ])'</span><span style="color: #339933;">,</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #339933;">,</span> <span style="color: #000088;">$i</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$i</span><span style="color: #339933;">--;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$i</span><span style="color: #339933;">++;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$val</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$i</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">.</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #339933;">,</span> <span style="color: #000088;">$i</span><span style="color: #339933;">,</span> <span style="color: #000088;">$i</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span> &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #990000;">mb_strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$encoding</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">||</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #990000;">mb_strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'!'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$encoding</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">||</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #990000;">mb_strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'?'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$encoding</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$uc_first</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br /> <br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">mb_strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #339933;">,</span> <span style="color: #000088;">$encoding</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$val</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$val</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&amp;nbsp;'</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">mb_strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #339933;">,</span> <span style="color: #000088;">$encoding</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">===</span> <span style="color: #0000ff;">','</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">===</span> <span style="color: #0000ff;">'.'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">===</span> <span style="color: #0000ff;">'!'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$val</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$val</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&amp;nbsp;'</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br /> &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br /> &nbsp; &nbsp; <br /> &nbsp; &nbsp; <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; <br /> &nbsp; &nbsp;<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;nbsp; '</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dotItem</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dashItem</span><span style="color: #339933;">,</span> <span style="color: #000088;">$questionItem</span><span style="color: #339933;">,</span> <span style="color: #000088;">$comaItem</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;nbsp;'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'?'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">','</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp;<br /> &nbsp; &nbsp; <br /> &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$text</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; <br /> <span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div><p>Komentarze usunąłem tylko w tym kodzie &#8211; u mnie na stronie zostały, ponieważ zachowałem w nich te części kodu, których użył Kamil, a mi były niepotrzebne.</p><p>Kod brzydki, ale działa. :P</p> ]]></content:encoded> </item> <item><title>Autor: Kamil Brenk</title><link>http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/comment-page-1/#comment-105</link> <dc:creator>Kamil Brenk</dc:creator> <pubDate>Wed, 09 Jun 2010 13:09:38 +0000</pubDate> <guid isPermaLink="false">http://blog.kamilbrenk.pl/?p=69#comment-105</guid> <description>@lolkowski, wybacz, jednak myślałem, że ksywka lolkowski i lolzer należy do tej samej osoby :P później postaram się pomóc, na razie sesja egzaminacyjna i brak czasu.. :)</description> <content:encoded><![CDATA[<p>@lolkowski, wybacz, jednak myślałem, że ksywka lolkowski i lolzer należy do tej samej osoby :P później postaram się pomóc, na razie sesja egzaminacyjna i brak czasu.. :)</p> ]]></content:encoded> </item> <item><title>Autor: lolkowski</title><link>http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/comment-page-1/#comment-104</link> <dc:creator>lolkowski</dc:creator> <pubDate>Wed, 09 Jun 2010 06:48:33 +0000</pubDate> <guid isPermaLink="false">http://blog.kamilbrenk.pl/?p=69#comment-104</guid> <description>Lolzer. jeśli powyższy skrypt zamieni Ci linkz www.costam
na
Www. Costamto żebyś użył bbcode nawet dwa ni po tej funkcji to nie zmieni to faktu, że link w bbode i tak nie będzie działał.Pozdrawiam</description> <content:encoded><![CDATA[<p>Lolzer. jeśli powyższy skrypt zamieni Ci link</p><p>z <a href="http://www.costam" rel="nofollow">http://www.costam</a><br /> na<br /> Www. Costam</p><p>to żebyś użył bbcode nawet dwa ni po tej funkcji to nie zmieni to faktu, że link w bbode i tak nie będzie działał.</p><p>Pozdrawiam</p> ]]></content:encoded> </item> <item><title>Autor: Kamil Brenk</title><link>http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/comment-page-1/#comment-102</link> <dc:creator>Kamil Brenk</dc:creator> <pubDate>Tue, 08 Jun 2010 21:00:36 +0000</pubDate> <guid isPermaLink="false">http://blog.kamilbrenk.pl/?p=69#comment-102</guid> <description>Prawda Lolzer, Wordpress tnie mi zamienia mi niektóre znaki i robi ogólny syf. W wolnym czasie napiszę wtyczkę, która by coś z tym robiła. Niemniej jednak dziękuję za uwagę, to dobra motywacja :-)</description> <content:encoded><![CDATA[<p>Prawda Lolzer, WordPress tnie mi zamienia mi niektóre znaki i robi ogólny syf. W wolnym czasie napiszę wtyczkę, która by coś z tym robiła. Niemniej jednak dziękuję za uwagę, to dobra motywacja :-)</p> ]]></content:encoded> </item> <item><title>Autor: Lolzer</title><link>http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/comment-page-1/#comment-101</link> <dc:creator>Lolzer</dc:creator> <pubDate>Tue, 08 Jun 2010 15:18:14 +0000</pubDate> <guid isPermaLink="false">http://blog.kamilbrenk.pl/?p=69#comment-101</guid> <description>Wykorzystałem kod Kamila i swój, trochę zmodyfikowałem (w kodzie, który podał wcześniej są błędy!) i nie tnie żadnych linków. No i funkcji bbcode należy użyć po tej funkcji, nie przed.</description> <content:encoded><![CDATA[<p>Wykorzystałem kod Kamila i swój, trochę zmodyfikowałem (w kodzie, który podał wcześniej są błędy!) i nie tnie żadnych linków. No i funkcji bbcode należy użyć po tej funkcji, nie przed.</p> ]]></content:encoded> </item> <item><title>Autor: lolkowski</title><link>http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/comment-page-1/#comment-98</link> <dc:creator>lolkowski</dc:creator> <pubDate>Thu, 03 Jun 2010 11:40:37 +0000</pubDate> <guid isPermaLink="false">http://blog.kamilbrenk.pl/?p=69#comment-98</guid> <description>Do forum się to jednak nie nadaje - tnie bbcode i linki.Pozdrawiam</description> <content:encoded><![CDATA[<p>Do forum się to jednak nie nadaje &#8211; tnie bbcode i linki.</p><p>Pozdrawiam</p> ]]></content:encoded> </item> <item><title>Autor: Lolzer</title><link>http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/comment-page-1/#comment-97</link> <dc:creator>Lolzer</dc:creator> <pubDate>Wed, 02 Jun 2010 15:47:57 +0000</pubDate> <guid isPermaLink="false">http://blog.kamilbrenk.pl/?p=69#comment-97</guid> <description>&lt;code&gt;
&lt;?phpfunction cleanThatShitUp($text){
$text = preg_replace(&#039;#\.{1,}\)#i&#039;, &#039;).&#039; ,$text); //ostatnia kropka poza nawias
$text = preg_replace(&#039;#\.{1,}\&quot;#i&#039;, &#039;&quot;.&#039; ,$text); //ostatnia kropka poza cudzysłów
$text = preg_replace(&#039;/\s+/&#039;, &#039; &#039;, $text);
$text = preg_replace(&#039;# ([\.,\?!;])#i&#039;, &#039;\\1&#039; ,$text); //usuwanie spacji przed niektórymi znakami
$text = preg_replace(&#039;#([\?!;\&quot;\&#039;,])\\1{1,}#i&#039;,&#039;\\1&#039;,$text); //redukcja powtarzających się znaków
$text = preg_replace(&#039;#(\.){3,}#i&#039;,&#039;..&#039;,$text); //tutaj wyjątkowo nieeleganckie rozwiązanie -  ograniczenie maksymalnej liczby kropek do 2
$text = preg_replace(&#039;#(\.\.)#i&#039;,&#039;...&#039;,$text); //...po czym następuje zamiana 2 kopek na wielokropek
$text = preg_replace(&#039;#([\?!,;])\.*#i&#039;,&#039;\\1&#039;,$text); //usuwanie kropek po znakach interpunkcyjnych
$text = preg_replace(&#039;#(\?!&#124;!\?)*(\?&#124;!)?#i&#039;,&#039;\\1&#039;,$text); //redukcja naprzemiennie postawionych &quot;?&quot; i &quot;!&quot;
$text = preg_replace(&#039;#([\?!,;\.])([^\p{P}\s])#i&#039;,&#039;\\1 \\2&#039;,$text); //postawienie spacji po znaku interpunkcyjnym, jeśli nie jest poprzedzony białym znakiem lub innym znakiem interpunkcyjnym
return $text;
}echo cleanThatShitUp(&quot;WTF ??????????????!!!!!!!!!!!!!!....      lol1.....lol2 lol3.lol4 lol5..lol6      ....?!?!?!?!?!?!?........... lol7.. . ?? \&quot;lololol8.\&quot; &#039;&#039;  lol9 .. lol10................????????!!!!!!!!?!?!?!?!?!lol11 . lol12!?!?!?!&quot;);//efektem będzie:
//WTF?! lol1... lol2 lol3. lol4 lol5... lol6...?! lol7... &quot;lololol8&quot;. &#039; lol9... lol10...?! lol11. lol12!??&gt;
&lt;/code&gt;Napisałem coś takiego bez użycia pętli. Może nie jest idealne, ale chyba radzi sobie z najbardziej hardcorowymi przypadkami. Tak myślę...
Tak poprawiony tekst można później przepuścić przez Twoją funkcję z drobnymi zmianami.</description> <content:encoded><![CDATA[<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?php<br /> <br /> function cleanThatShitUp($text){<br /> $text = preg_replace('#\.{1,}\)#i', ').' ,$text); //ostatnia kropka poza nawias<br /> $text = preg_replace('#\.{1,}\&quot;#i', '&quot;.' ,$text); //ostatnia kropka poza cudzysłów<br /> $text = preg_replace('/\s+/', ' ', $text);<br /> $text = preg_replace('# ([\.,\?!;])#i', '\\1' ,$text); //usuwanie spacji przed niektórymi znakami<br /> $text = preg_replace('#([\?!;\&quot;\',])\\1{1,}#i','\\1',$text); //redukcja powtarzających się znaków<br /> $text = preg_replace('#(\.){3,}#i','..',$text); //tutaj wyjątkowo nieeleganckie rozwiązanie - &nbsp;ograniczenie maksymalnej liczby kropek do 2<br /> $text = preg_replace('#(\.\.)#i','...',$text); //...po czym następuje zamiana 2 kopek na wielokropek<br /> $text = preg_replace('#([\?!,;])\.*#i','\\1',$text); //usuwanie kropek po znakach interpunkcyjnych<br /> $text = preg_replace('#(\?!|!\?)*(\?|!)?#i','\\1',$text); //redukcja naprzemiennie postawionych &quot;?&quot; i &quot;!&quot;<br /> $text = preg_replace('#([\?!,;\.])([^\p{P}\s])#i','\\1 \\2',$text); //postawienie spacji po znaku interpunkcyjnym, jeśli nie jest poprzedzony białym znakiem lub innym znakiem interpunkcyjnym<br /> return $text;<br /> }<br /> <br /> echo cleanThatShitUp(&quot;WTF ??????????????!!!!!!!!!!!!!!.... &nbsp; &nbsp; &nbsp;lol1.....lol2 lol3.lol4 lol5..lol6 &nbsp; &nbsp; &nbsp;....?!?!?!?!?!?!?........... lol7.. . ?? \&quot;lololol8.\&quot; '' &nbsp;lol9 .. lol10................????????!!!!!!!!?!?!?!?!?!lol11 . lol12!?!?!?!&quot;);<br /> <br /> //efektem będzie:<br /> //WTF?! lol1... lol2 lol3. lol4 lol5... lol6...?! lol7... &quot;lololol8&quot;. ' lol9... lol10...?! lol11. lol12!?<br /> <br /> ?&gt;</div></td></tr></tbody></table></div><p>Napisałem coś takiego bez użycia pętli. Może nie jest idealne, ale chyba radzi sobie z najbardziej hardcorowymi przypadkami. Tak myślę&#8230;<br /> Tak poprawiony tekst można później przepuścić przez Twoją funkcję z drobnymi zmianami.</p> ]]></content:encoded> </item> <item><title>Autor: Lolzer</title><link>http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/comment-page-1/#comment-96</link> <dc:creator>Lolzer</dc:creator> <pubDate>Wed, 02 Jun 2010 12:33:48 +0000</pubDate> <guid isPermaLink="false">http://blog.kamilbrenk.pl/?p=69#comment-96</guid> <description>Ja natomiast próbuję napisać coś, co usuwałoby niepotrzebne znaki np:
.................... -&gt; ... (wiele kropek to pojedynczego wielokropka)
.. - &gt; . (2 kropki do jednej)
??????????????? -&gt; ? (redukcja)
!!!!!!!!!!!!!!!!!!!!!!!!!!! - ! (redukcja)
?!?!?!?!?! -&gt; ?! (redukcja)
!?!?!?!?!?!?! -&gt; !? (redukcja)
!!!!!!!!!!!!??!!!!!!!!!???!!!!!!!! -&gt; !? (redukcja)
!!!!!!!!!!!!!..........?????????? -&gt; !? (usunięcie kropek za znakami interpunkcyjnymi; redukcja znaków)
.! -&gt; ! ale ...! -&gt; ...! i .........! -&gt; ...! (przy wielokropku zostawiało bez zmian)
.. .. . -&gt; ... (likwidacja spacji między kolidującymi znakami; redukcja)
!... -&gt; ! (usunięcie kropek/wielokropka za niektórymi znakami)
&quot;Pytanie?&quot;. -&gt; &quot;Pytanie?&quot; (usunięcie kropki za cudzysłowem, jeśli cytowane jest pytanie. To samo z wykrzyknikiem).
&quot;Zdanie.&quot;. - &gt; &quot;Zdanie&quot;. (usunięcie kropki w cudzysłowie, jeśli jest już jedna poza).
(Wtrącenie.) -&gt; (Wtrącenie). (przeniesienie ostatniej kropki poza nawias).
&quot;Zdanie.&quot; -&gt; &quot;Zdanie&quot;. (przeniesienie ostatniej kropki poza cudzysłów).
Zdanie . -&gt; Zdanie. (usunięcie spacji przed kropką, przecinkiem, średnikiem, pytajnikiem i wykrzyknikiem).
I spacja zawsze po kropce i przecinku. Po wielokropku też, jeśli nie poprzedza znaku zapytania lub wykrzyknika.
No i wstawianie twardych spacji w oczywistych przypadkach. Przyznaję, trochę mnie przerosło i mam wrażenie, że wyszedł mi mało optymalny kod, ponieważ zabieg musi być kilka razy powtórzony w pętli, gdyż przy redukcji niektórych niepotrzebnych znaków pojawia się kolizja innych, którą ponownie trzeba poddać redukcji.
O linki i URL-e się nie boje, ponieważ są zakazane na mojej stronie.</description> <content:encoded><![CDATA[<p>Ja natomiast próbuję napisać coś, co usuwałoby niepotrzebne znaki np:<br /> &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. -&gt; &#8230; (wiele kropek to pojedynczego wielokropka)<br /> .. &#8211; &gt; . (2 kropki do jednej)<br /> ??????????????? -&gt; ? (redukcja)<br /> !!!!!!!!!!!!!!!!!!!!!!!!!!! &#8211; ! (redukcja)<br /> ?!?!?!?!?! -&gt; ?! (redukcja)<br /> !?!?!?!?!?!?! -&gt; !? (redukcja)<br /> !!!!!!!!!!!!??!!!!!!!!!???!!!!!!!! -&gt; !? (redukcja)<br /> !!!!!!!!!!!!!&#8230;&#8230;&#8230;.?????????? -&gt; !? (usunięcie kropek za znakami interpunkcyjnymi; redukcja znaków)<br /> .! -&gt; ! ale &#8230;! -&gt; &#8230;! i &#8230;&#8230;&#8230;! -&gt; &#8230;! (przy wielokropku zostawiało bez zmian)<br /> .. .. . -&gt; &#8230; (likwidacja spacji między kolidującymi znakami; redukcja)<br /> !&#8230; -&gt; ! (usunięcie kropek/wielokropka za niektórymi znakami)<br /> &#8222;Pytanie?&#8221;. -&gt; &#8222;Pytanie?&#8221; (usunięcie kropki za cudzysłowem, jeśli cytowane jest pytanie. To samo z wykrzyknikiem).<br /> &#8222;Zdanie.&#8221;. &#8211; &gt; &#8222;Zdanie&#8221;. (usunięcie kropki w cudzysłowie, jeśli jest już jedna poza).<br /> (Wtrącenie.) -&gt; (Wtrącenie). (przeniesienie ostatniej kropki poza nawias).<br /> &#8222;Zdanie.&#8221; -&gt; &#8222;Zdanie&#8221;. (przeniesienie ostatniej kropki poza cudzysłów).<br /> Zdanie . -&gt; Zdanie. (usunięcie spacji przed kropką, przecinkiem, średnikiem, pytajnikiem i wykrzyknikiem).<br /> I spacja zawsze po kropce i przecinku. Po wielokropku też, jeśli nie poprzedza znaku zapytania lub wykrzyknika.<br /> No i wstawianie twardych spacji w oczywistych przypadkach. Przyznaję, trochę mnie przerosło i mam wrażenie, że wyszedł mi mało optymalny kod, ponieważ zabieg musi być kilka razy powtórzony w pętli, gdyż przy redukcji niektórych niepotrzebnych znaków pojawia się kolizja innych, którą ponownie trzeba poddać redukcji.<br /> O linki i URL-e się nie boje, ponieważ są zakazane na mojej stronie.</p> ]]></content:encoded> </item> <item><title>Autor: Kamil Brenk</title><link>http://blog.kamilbrenk.pl/gramatyka-w-php-czesc-1/comment-page-1/#comment-95</link> <dc:creator>Kamil Brenk</dc:creator> <pubDate>Mon, 31 May 2010 21:57:47 +0000</pubDate> <guid isPermaLink="false">http://blog.kamilbrenk.pl/?p=69#comment-95</guid> <description>Hehe, dziękuję za uwagę Lolzer ;)Domyślałem się, że za daleko popłynąłem z funkcjonalnością. Początkowym założeniem było dodawanie twardych spacji w miejscach, które to wymagają - co jest bardzo fajną i przydatną funkcjonalnością (stosowaną w praktyce w kilku innych serwisach, co bardzo się sprawdza i czego brakuje mi w WordPressie).Niestety w ramach bloga chciałem dopisywać kolejne &quot;bajery&quot; i powstał mały potworek, który dodatkowo nie jest zgodny z gramatyką i psuje prawidłowe zdania :D</description> <content:encoded><![CDATA[<p>Hehe, dziękuję za uwagę Lolzer ;)</p><p>Domyślałem się, że za daleko popłynąłem z funkcjonalnością. Początkowym założeniem było dodawanie twardych spacji w miejscach, które to wymagają &#8211; co jest bardzo fajną i przydatną funkcjonalnością (stosowaną w praktyce w kilku innych serwisach, co bardzo się sprawdza i czego brakuje mi w WordPressie).</p><p>Niestety w ramach bloga chciałem dopisywać kolejne &#8222;bajery&#8221; i powstał mały potworek, który dodatkowo nie jest zgodny z gramatyką i psuje prawidłowe zdania :D</p> ]]></content:encoded> </item> </channel> </rss>
