ホームページ >バックエンド開発 >PHPチュートリアル >PHPで定期的なローテーションを探しています

PHPで定期的なローテーションを探しています

WBOY
WBOYオリジナル
2016-06-13 12:52:47879ブラウズ

PHP で文字 cjy/dongnanya/flb-mnl/xianlu を cjy/dongnanya-flb-mnl-xianlu
に置き換える通常の置換
を探しています。
つまり、最初の「/」を除く元の文字は置換されず、他の文字は「-」に置き換えられます。

php
-----解決策---------
$s = 'cjy/dongnanya/flb-mnl/xianlu';<br />
<br />
//方法一<br />
$t = preg_replace('#/#', '-', $s);<br />
$t = preg_replace('#-#', '/', $t, 1);<br />
echo $t;<br />
<br />
//方法二<br />
$n = 0;<br />
echo preg_replace_callback('#/#', 'foo', $s);<br />
<br />
function foo($r) {<br />
  global $n;<br />
  if($n++) return '-';<br />
  return $r[0];<br />
}<br />
<br />

------解決策----------------------
引用:
引用:私はまだ一行書いたら差し替えられるタイプが好きなのですが、これはどうでしょうか?

PHP コード?123427d5b9cab2cf703bb51c8d01b58609c4) および (?:) と同様にアサーションであり、キャプチャ メモリには記録されません。
括弧にはさまざまな用途があります。私の記憶が正しければ (?#) はコメントです。
時間があるときにルールを深く理解することをお勧めします。知識ポイントはそれほど多くないので、残りは練習してください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。