[英]PHP rtrim function trim extra character? Why?
rtrim
如何工作? 我有一個字符串“ 4dbb3dca&”。 我不確定我的弦是如何固定的。 我想打電話給rtrim('4dbb3dca&', '&')
--edit: &
可能是$amp;
特殊字符問題
但是在我的字符串之后是4dbb3dc
。
我希望它是4dbb3dca
。
有什么解決方法嗎? 我嘗試使用&
,但是rtrim不執行任何操作,並且返回了初始字符串。 在我的情況下可以使用rtrim
嗎? 是否取決於php版本?
-編輯-
經過研究后,我意識到我想要:我想要刪除&
使用&
在rtrim()
函數中。 這可能嗎?
Q1 。 在我的情況下可以使用rtrim嗎? 是的 ,您可以根據情況使用rtrim()
。
Q2 。 是否取決於php版本? 沒有
您只需要使用echo rtrim('4dbb3dca&', '&');
不是&
因為rtrim的第二個參數的工作方式如下-
你也可以指定你想要去除,由character_mask參數的手段的人物 。 只需列出您要刪除的所有字符
演示: https : //3v4l.org/anFIR
如果使用下面的示例,則會得到相同的結果,因為它將嘗試從給定字符串的右側刪除所有給定字符。 對於前
echo rtrim('4dbb3dca&;pm', '&');` // will also return 4dbb3dc
您在rtim()
中指定的第二個字符串包含要修剪的所有其他字符。 因此,要修剪的字符為"&"
和"a"
(這兩個確實包含在您的rtrim()
函數調用的第二個參數"&"
)。
為了獲得想要的結果,您應該通過以下方式調用rtrim()
:
rtrim('4dbb3dca&', '&')
看起來您正在嘗試從字符串末尾刪除“&”號(可能采用編碼形式)。 如您所見, rtrim
沒有給您足夠的控制權來執行此操作,但是您可以使用preg_replace
。
echo preg_replace('/&(amp;)?$/', '', $string);
該模式將在字符串的末尾匹配與號,並可選地在其后加上amp;。
rtrim
工作方式是刪除第二個參數的最后一個字符。
PHP已將字符串拆分為字符,並檢查字符串的最后是否包含字符。
如果您從字符列表中選擇了兩個字符,則rtrim
會刪除這兩個字符
例如 :
;&apm
將與&
相同的結果
如果要刪除字符串末尾唯一的&符號,請使用以下代碼: rtrim('4dbb3dca&','&');
要了解更多信息,可以在php.net http://php.net/manual/en/function.rtrim.php上閱讀有關內容
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.