2015-06-08 22 views
7

Aşağıdaki gibi herhangi bir DOM varsa, çıkışı yalnızca - nasıl arar?PHP betiğini kullanarak herhangi bir DOM'da sadece `-` çıkışı nasıldır?

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

Şu Sadece bu çıktıyı - bulmak için aşağıdaki kodları kullanabilirsiniz:

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

Herhangi daha iyi fikir? Bunun yerine kullanabilirsiniz

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

:

+1

Tam bir eşleşme olduğundan, denemeniz zaten yeterli. Eşleşme kalıba dayanıyorsa, RegEx'e ihtiyacınız olacaktır. – Raptor

+0

Bana detayları gösterebilir misin? – Nere

+0

Durum, sadece -o var olduğunda… bunun anlamı başka hiçbir karakterin bulunmamasıdır. – Nere

cevap

2

deneyin strip_tags(), strpos() kadar verimli değil, ancak tüm durumlarda çalışabilir:

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

Bu bir ,,, belirtildiği gibi çalışır - için geçerli tüm koşullar. – Nere

3

kabul cevap etiketi öznitelik değerleri >-< içeriyorsa gibi özel durumlar için işe yaramaz ya - eğer etiketleri içinde sarılmış değil

$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

Benim için çalışıyor ... Teşekkürler .. – Nere

+1

@ImranHamzah olabilir (strpos ($ giriş, '> -