0
I)は、保護機能_someMethod(」で、すべての「プライベート関数__someMethodを()」置き換えたい。 しかし、私は手つかずの魔法のものを残したいです。 交換はしかし動作しません。にpreg_replaceと複数のNOTと
$x = array(
'/\bprivate function __([^(construct|destruct|sleep|wakeup|get|set|call|toString|invoke|set_state|clone|callStatic|isset|unset)])\b/i',
'protected function _\1'
)
単語の境界として
\b
と\b
。
それはpreg_replace($x[0], $x[1])
を使用しています。
THX!
私も同じことが、もちろん、次いで(静的呼び出し)" $this->__ "
と" ::__ "
に適用[^construct^destruct^sleep]
など
を試みました。
なぜw +?おそらくそれは言葉でなければならないからでしょうか? a-zA-Z- – mark
はい。しかし、アサーション自体はゼロ幅のマッチであるためです。 – mario
唯一の問題は、文字列が短くなることです。この場合、\ 1は機能しないようで、結果は "protected function _()"となります。 – mark