2015-06-08 18 views
7

Cách tìm kiếm đầu ra chỉ - nếu có bất kỳ DOM nào dưới đây?Chỉ tìm kiếm đầu ra `-` trong bất kỳ DOM nào bằng cách sử dụng tập lệnh PHP?

  1. <p>-</p>
  2. <p><span style="font-size: medium;">-</span></p>
  3. , vv

Hiện nay tôi chỉ cần sử dụng các mã như dưới đây để tìm đầu ra này -:

$input = `<p>-</p>`; 
if($input == `<p>-</p>`): 
    return true; 
else: 
    return false; 
endif; 

Bất kỳ ý tưởng tốt hơn?

+1

Vì đây là kết hợp chính xác nên thử của bạn đã đủ rồi. Nếu đối sánh dựa trên mẫu, thì bạn sẽ cần RegEx. – Raptor

+0

Bạn có thể cho tôi biết chi tiết không? – Nere

+0

Điều kiện chỉ khi '-' tồn tại ... nghĩa là không có nhân vật nào khác tham gia. – Nere

Trả lời

2

Câu trả lời được chấp nhận sẽ không làm việc cho trường hợp đặc biệt như thế nào nếu các giá trị thuộc tính thẻ chứa >-< hoặc nếu - không được bọc trong các thẻ:

$input = '<span title="A valid title >-<">Should NOT match</span>'; 
$input = '<span>Should match</span>-'; 

Thay vào đó bạn có thể sử dụng strip_tags(), không hiệu quả như strpos() nhưng sẽ hoạt động với mọi trường hợp:

return (strip_tags($input) === '-'); 
+0

Cái này ,,, hoạt động như bạn đã đề cập - hợp lệ cho mọi điều kiện. – Nere

3

thử

$input = `<p>-</p>`; 
$input = `<p><span style="font-size: medium;">-</span></p>`; 
$input = `<p><div>-</div>`; 
if(strpos($input, '>-<')): 
    return true; 
else: 
    return false; 
endif; 
+2

Nó hoạt động với tôi ... cảm ơn rất nhiều .. – Nere

+1

@ImranHamzah có thể là (strpos ($ input, '> -

Các vấn đề liên quan