PHPを学習すると、PHP文字列インターセプトの問題に遭遇することがあります。ここでは、PHP文字列インターセプト関数の問題の解決策を紹介し、ここで共有します。 PHP 自体はシンプルですが強力な言語です。 PHP 言語には、強力な文字列や配列の処理機能などのコア機能があり、オブジェクト指向プログラミング (PHP5 以降) のサポートが大幅に向上しています。
ASP3.0 は長い間 Microsoft によって放棄されており、今後は更新されないでしょう。「PHP もすぐに廃止されるはずですよね?」と思う人もいるかもしれません。しかし、事実はまったく逆で、PHP は ASP を大きく引き離して急速に発展しているだけでなく、徐々にインターネット上で最も広く使用され、人気のある言語になりつつあります。 PHP の強力な言語を使用して、この問題を解決しましょう。
PHP 文字列インターセプト関数コード:
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN><SPAN> </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>functionget_substr($string,$</SPAN><SPAN class=attribute>start</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>'0'</SPAN><SPAN>,$</SPAN><SPAN class=attribute>length</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>''</SPAN><SPAN>) </SPAN></SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>start</SPAN><SPAN>=(int)$start; </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>length</SPAN><SPAN>=(int)$length; </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>i</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>0</SPAN><SPAN>; </SPAN></SPAN><LI class=""><SPAN>if(!$string) </SPAN><LI class=alt><SPAN>{ </SPAN><LI class=""><SPAN>return; </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN>if($start</SPAN><SPAN class=tag>></span><span>=0) </span></span></li> <li class="alt"><span>{ </span></li> <li class=""> <span>while($i</span><span class="tag"><</SPAN><SPAN>$start) </SPAN></SPAN><LI class=alt><SPAN>{ </SPAN><LI class=""><SPAN>if(ord($string[$i])</SPAN><SPAN class=tag>></span><span>127) </span> </li> <li class="alt"><span>{ </span></li> <li class=""> <span>$</span><span class="attribute">i</span><span>=$i+2; </span> </li> <li class="alt"><span>} </span></li> <li class=""><span>else </span></li> <li class="alt"><span>{ </span></li> <li class=""><span>$i++; </span></li> <li class="alt"><span>} </span></li> <li class=""><span>} </span></li> <li class="alt"> <span>$</span><span class="attribute">start</span><span>=$i; </span> </li> <li class=""> <span>if($</span><span class="attribute">length</span><span>=='') </span> </li> <li class="alt"><span>{ </span></li> <li class=""><span>returnsubstr($string,$start); </span></li> <li class="alt"><span>} </span></li> <li class=""> <span>elseif($length</span><span class="tag">></span><span>0) </span> </li> <li class="alt"><span>{ </span></li> <li class=""> <span>$</span><span class="attribute">end</span><span>=$start+$length; </span> </li> <li class="alt"> <span>while($i</span><span class="tag"><</SPAN><SPAN>$end) </SPAN></SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>if(ord($string[$i])</SPAN><SPAN class=tag>></span><span>127) </span> </li> <li class=""><span>{ </span></li> <li class="alt"> <span>$</span><span class="attribute">i</span><span>=$i+2; </span> </li> <li class=""><span>} </span></li> <li class="alt"><span>else </span></li> <li class=""><span>{ </span></li> <li class="alt"><span>$i++; </span></li> <li class=""><span>} </span></li> <li class="alt"><span>} </span></li> <li class=""><span>if($end!=$i-1) </span></li> <li class="alt"><span>{ </span></li> <li class=""> <span>$</span><span class="attribute">end</span><span>=$i; </span> </li> <li class="alt"><span>} </span></li> <li class=""><span>else </span></li> <li class="alt"><span>{ </span></li> <li class=""><span>$end--; </span></li> <li class="alt"><span>} </span></li> <li class=""> <span>$</span><span class="attribute">length</span><span>=$end-$start; </span> </li> <li class="alt"><span>returnsubstr($string,$start,$length); </span></li> <li class=""><span>} </span></li> <li class="alt"> <span>elseif($</span><span class="attribute">length</span><span>==0) </span> </li> <li class=""><span>{ </span></li> <li class="alt"><span>return; </span></li> <li class=""><span>} </span></li> <li class="alt"><span>else </span></li> <li class=""><span>{ </span></li> <li class="alt"> <span>$</span><span class="attribute">length</span><span>=</span><span class="attribute-value">strlen</span><span>($string)-abs($length)-$start; </span> </li> <li class=""><span>returnget_substr($string,$start,$length); </span></li> <li class="alt"><span>} </span></li> <li class=""><span>} </span></li> <li class="alt"><span>else </span></li> <li class=""><span>{ </span></li> <li class="alt"> <span>$</span><span class="attribute">start</span><span>=</span><span class="attribute-value">strlen</span><span>($string)-abs($start); </span> </li> <li class=""><span>returnget_substr($string,$start,$length); </span></li> <li class="alt"><span>} </span></li> <li class=""><span>} </span></li> <li class="alt"><span> </span></li> <li class=""> <span></span><span class="tag">?></span><span> </span> </li> </ol>