如果你想之前「#
」返回的一切,那麼你可以使用爆炸。
找到空白部分時的行爲隨PHP 4.1.0更改。舊行爲返回一個空字符串,而新的正確的行爲只是跳過字符串的一部分。
TEST 1(https://3v4l.org/4lP5u):
$href = "#content";
$href = explode('#', $href);
echo $href['0'];
//returns ''
TEST 2(https://3v4l.org/ov9Yl):
$href = "test#content";
$href = explode('#', $href);
echo $href['0'];
//returns 'test'
EDIT:
WHOOPs我在TEST 2
示例中添加了錯誤的鏈接,現在更新了鏈接。
根據您的評論
不幸的是我不能去炸的路線,因爲$ HREF變量稍後將 重複使用,並且不能爲數組。此外,還有一個不正確的輸出 的例子在你的第二個鏈接,因爲它呼應$ HREF [ '1'] 代替HREF $ [0]
你可以:
TEST 3(https://3v4l.org/uWPOk):
$href = "test#content";
$href = explode('#', $href);
$href = $href['0'];
echo $href;
TEST 4(https://3v4l.org/rtIJ0):
次
此檢查,如果字符串包含#
和爆炸它在其他$href
保持不變
$href = "test#content";
if (strpos($href, '#') !== FALSE){
$href = explode('#', $href);
$href = $href['0'];
echo $href;
}else{
echo "$href";
}
從手冊中可以看出'發現空白部分時的行爲在PHP 4.1.0中發生了變化。舊的行爲返回一個空字符串,而新的,正確的行爲簡單地跳過了字符串的一部分:' – RamRaider
這實際上來自對'strtok()'實際做了什麼的基本誤解,並且假設它是某種變體爆炸(),只是簡單地返回一個結果一次 –