好吧,所以我有一個自定義的方法返回一個起始分隔符和結束分隔符之間的數據。我創建它主要是在HTML文件中返回數據。strpos不返回數據
我使用的樣本數據是:
url%3Dhttp%253A%252F%252Fdomain.com%252Fvideo%253Fms%253Did%25252Cexpire%25252C
和方法是:
private function getValue($startDelimiter, $endDelimiter, $haystack)
{
$val = '';
if($pos = strpos($haystack , $startDelimiter))
{
$pos += strlen($startDelimiter);
while($haystack[$pos] !== $endDelimiter) {
$val .= $haystack[$pos];
$pos++;
}
return $val;
} else {
return false;
}
}
我使用的方法是這樣
$this->getValue("url%3D", "%2C", $source);
錯誤我正在得到的是
Notice: Uninitialized string offset: 5880 in
如果我使用的URL解碼,然後用
$this->getValue("url=", ",", urldecode($source));
...它工作正常。
這是爲什麼?
這非常合理!謝謝。完全錯過了。 – GV1