3 回答

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用正則表達(dá)式查找最后一個(gè)反斜杠和單詞“Controller”之間的單詞
$path = "App\\Http\\Controllers\\TestController";
if( preg_match('~\\\\([^\\\\]+)Controller~', $path, $m) ) {
echo $m[1];
}
else {
echo 'Not found';
}

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
您遇到的問題是反斜杠轉(zhuǎn)義了分隔符字符串的結(jié)束引號(hào)。$path_segments = explode("\", $path);
語法錯(cuò)誤也是如此。
幸運(yùn)的是,您還可以轉(zhuǎn)義轉(zhuǎn)義字符。(單引號(hào)或雙引號(hào)的工作方式相同。)
$segments = explode('\\', $path);
然后使用substr
.
$controller = substr(end($segments), 0, -10);
(-10 指的是“控制器”的長度。)

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
我建議使用正則表達(dá)式來實(shí)現(xiàn)這一點(diǎn);您可以在一行中使用preg_match():
$path = "App\Http\Controllers\TestController";
preg_match('/Test/', $path, $correctWord); // 'test'
這可以在這里看到。
- 3 回答
- 0 關(guān)注
- 234 瀏覽
添加回答
舉報(bào)