如何從一個字符串,看起來像刪除第一個字客場的Smarty:從字符串帶走的第一個字
$variable = "Word Quick brown fox";
,使它看起來像這樣事後對輸出:
$variable = "Quick brown fox";
有沒有辦法做到這一點沒有修飾符?我知道你可以自定義修飾符,然後使用$variable|customModifier
並得到你想要的,但我想也許已經有內置的解決方案呢?
如何從一個字符串,看起來像刪除第一個字客場的Smarty:從字符串帶走的第一個字
$variable = "Word Quick brown fox";
,使它看起來像這樣事後對輸出:
$variable = "Quick brown fox";
有沒有辦法做到這一點沒有修飾符?我知道你可以自定義修飾符,然後使用$variable|customModifier
並得到你想要的,但我想也許已經有內置的解決方案呢?
正如泰勒指出,這應該是在你的業務邏輯完成的,就像這樣:
explode()
在空間創造字數組array_shift()
的第一項(對應於在句中第一個字)implode()
這裏加入它重新走到一起就是一個例子:
$words = explode(' ', $variable);
array_shift($words);
$variable = implode(' ', $words);
它看起來像OP想要第一個字母也是大寫。另外,你應該在'explode'函數中設置一個極限2,因爲'explode'會將連續的分隔符作爲一個分隔符。因此,如果字符串在第一個單詞後面包含多個連續空格,則每個組中的所有空間都將丟失。 –
我會這樣做的。如果我使用Modifier,它意味着我這樣做,就像Tyler在業務邏輯中說的那樣? –
@Tyler我認爲第一個單詞應該首先是帽子,但是如果你看一下原始字符串,前兩個單詞是大寫的,所以我只剩下它。另外,對於連續的空格,更好的解決方案是使用'preg_split()',但由於該要求不在OP中,爲了清楚起見,我省略了它。 – nickb
通過單詞之間的空間將原始字符串分解爲數組,然後切出所選的索引鍵。然後將陣列內爆到一個字符串。
<?php
$variable = "Word Quick brown fox";
$str = explode(' ', $variable);
$str = array_slice($str, 1);
$str = implode(' ', $str);
echo $str;
?>
感謝Chris,就像我上面所說的那樣,我會爲此編寫修飾符,但是我通過'array_shift'在PHP中解決了它。 –
這裏沒有內建修飾符。其中一個原因是這種類型的東西應該在業務邏輯中完成(當然是通過PHP)。 Smarty的目的是提供創建模板和佈局頁面的機制,而不是像這樣進行字符串操作。 –
謝謝,泰勒,我意識到這一點。那麼我將不得不使用Modifier。 –