ホームページ >バックエンド開発 >PHPチュートリアル >鄭澤太才 [続き]
定期太彩 [引き続きヘルプをお願いします]
aaa.bbb.ccc.ddd $aaa.bbb.ccc.ddd... aaa.bbb.ccc.ddd
aaa.bbb への置き換え方法正規表現を使用します。 ccc.ddd $a.b.c.d... aaa.bbb.ccc.ddd
その考えは正しいです。
- -----解決策--- ------------------
最初に最後のものを試してください。 。
$str = 'aaa.bbb.ccc.ddd $aaa.bbb.ccc.ddd... aaa.bbb.ccc.ddd'; echo preg_replace_callback('/$([a-z]+)((?:.[a-z]+)+)/i', 'test', $str); 機能テスト($m) { $arr =explode('.',trim($m[0], '$')); $join = 配列(); foreach($arr as $a) { $join[] = $a[0]; } '$' を返します。implode($join, '.'); } /**出: aaa.bbb.ccc.ddd $a.b.c.d... aaa.bbb.ccc.ddd*/ <br><font color="#e78608">------解決策------------------</font><br>
$s = 'aaa.bbb.ccc.ddd $aaa.bbb.ccc.ddd... aaa.bbb.ccc.ddd'; echo preg_replace_callback('/$[^s]+/', 'back', $s); 関数 back($r) { return preg_replace('/(w)+/', '$1', $r[0]); <div class="clear"></div>