Tôi đang viết một trang PHP phân tích cú pháp URL đã cho. Những gì tôi có thể làm là tìm thấy sự xuất hiện đầu tiên chỉ, nhưng khi tôi echo nó, tôi nhận được một giá trị chứ không phải là nhất định.Tìm nhiều vị trí chuỗi trong PHP
đây là những gì tôi đã làm cho đến bây giờ.
<?php
$URL = @"my URL goes here";//get from database
$str = file_get_contents($URL);
$toFind = "string to find";
$pos = strpos(htmlspecialchars($str),$toFind);
echo substr($str,$pos,strlen($toFind)) . "<br />";
$offset = $offset + strlen($toFind);
?>
Tôi biết rằng vòng lặp có thể được sử dụng, nhưng tôi không biết điều kiện không phải là nội dung của vòng lặp.
Và làm cách nào tôi có thể hiển thị kết quả tôi cần?
Tôi không biết chính xác những gì bạn muốn với mã này, nhưng có vẻ như không rõ ràng với tôi những gì biến bạn muốn có được trên với. Tại thời điểm này, bạn có nghĩa vụ phải echo chính xác nội dung của $ toFind, vậy tại sao không echo $ toFind khi một kết hợp được tìm thấy? Hoặc là $ pos của quá nhiều tầm quan trọng với bạn? Tuy nhiên, vấn đề dường như bắt nguồn từ hàm htmlspecialchars(), có thể làm tăng độ dài và bố cục của chuỗi gốc. Nếu bạn muốn hiển thị văn bản phù hợp, hãy chắc chắn rằng bạn sử dụng nó trên dòng chất nền là tốt. –
@Pelle ten Cate: như bạn có thể thấy, câu trả lời được gửi bởi codaddict giống như của bạn.Và tôi không muốn lặp lại $ toFind, vì tôi sẽ sử dụng vị trí được tìm thấy để lấy một số nội dung sau khi tôi tìm thấy. – sikas