我有URL結構從例如:PHP:未定義抵消:3 - preg_match_all
http://www.example.com/directory/some-text-a1-vs-sec-text-b2-vs-third-text-vs-last-text-c1/
我正則表達式是:
preg_match_all("/([^\/.]+?)(?:-vs-|\.\w+$)/", $html, $matches);
預期結果:
some-text-a1
sec-text-b2
third-text
last-text-c1
結果我得到:
some-text-a1
sec-text-b2
third-text
Notice: Undefined offset: 3 in F:\xampp\htdocs\url.php on line 41
全碼:
$html = "http://www.example.com/directory/some-text-a1-vs-sec-text-b2-vs-third-text-vs-last-text-c1/";
preg_match_all("/([^\/.]+?)(?:-vs-|\.\w+$)/", $html, $matches);
$prvi = "some-text-a1";
$drugi = "sec-text-b2";
$treci = "third-text";
$cetvrti = "last-text-c1";
echo "URL: ".$html."<br>";
if($prvi == $matches[1][0]){echo "1st O.K. - ".$prvi." = ".$matches[1][0]."<br>";}
if($drugi == $matches[1][1]){echo "2nd O.K. - ".$drugi." = ".$matches[1][1]."<br>";}
if($treci == $matches[1][2]){echo "3rd O.K. - ".$treci." = ".$matches[1][2]."<br>";}
if($cetvrti == $matches[1][3]){echo "4th O.K. - ".$cetvrti." = ".$matches[1][3]."<br>";}
想法我缺少什麼?我想結束斜槓/是我的正則表達式中的問題。
任何想法?謝謝!
使用'var_dump'看你真正有'$比賽'。 http://php.net/var_dump –
array(2){[0] => array(3){[0] => string(16)「some-text-a1-vs-」[1] => string (15)「sec-text-b2-vs-」[2] => string(14)「third-text-vs-」} [1] => array(3){[0] => string(12) 「some-text-a1」[1] => string(11)「sec-text-b2」[2] => string(10)「third-text」}} – Fritex
看,你沒有第三個元素。 –