sınırlayıcı olarak aksaklık patlayabilir

2 Cevap php

Patlamak için ayraç ile bazı sorun yaşıyorum. Ben bir ayırıcı olarak oldukça tıknaz dize var, ve uzunluğu ile ilgili değil işaret ettiği, ben başka bir mektup (bir kelimenin başlangıcı) eklediğinizde ayırır gibi görünüyor, ama ben ilk harfini çıkardığınızda sabit almaz .

Zekâ, (çalışma) kodu:

$boom = htmlspecialchars("<td width=25 align=\"center\" "); 
$arr[1] = explode($boom, $arr[1]);

Ben kullanmak istiyorum tam dize <td width=25 align=\"center\" class=\", ve ben class, aşağı tatili patlayabilir ekleyerek, ve hiçbir şey bitmiş olur başladığınızda. Yani kısa sürede c olarak eklemek olur, ve sadece dize uzunluğu meselesi eğer <, bu da olur çıkarmak eğer gitmez.

Temelde, sadece patladıktan sonra "class="" ile değiştirin ve aynı sonucu alabilirsiniz beri sorun, korkunç değil, ama bu beni teşhis baş ağrısı verdi, ve bu gerçekten garip gibi görünüyor sorun. Bu değer ne için, ben XAMPP 1.7.2 PHP 5.3.0 kullanıyorum.

Şimdiden teşekkürler!

2 Cevap

Sen özgün dize sınırlayıcı her geçtiği dönüştürerek deneyebilirsiniz

"<td width=25 align=\"center\" "

gibi daha yönetilebilir bir şey:

"Muz"

ve o kelime üzerinde patlayabilir

Eğer patlamaya htmlspecialchars ekleyerek denedim.

$arr[1] = explode($boom, htmlspecialchars($arr[1]));

Onsuz beklenmeyen sonuçlar alabilirsiniz, ama onunla mükemmel çalışıyor.

$s = '<td width=25 align="center" class="asdjasd">sdadasd</td><td width=25 align="center" >asdasD</td>';
$boom = htmlspecialchars("<td width=25 align=\"center\" class=");
$sex = explode($boom, $s);
print_r($sex);

Çıkışlar:

Array
(
    [0] => <td width=25 align="center" class="asdjasd">sdadasd</td><td width=25 align="center" >asdasD</td>
)

Oysa

$s = '<td width=25 align="center" class="asdjasd">sdadasd</td><td width=25 align="center" >asdasD</td>';
$boom = htmlspecialchars("<td width=25 align=\"center\" class=");

$sex = explode($boom, htmlspecialchars($s));
print_r($sex);

Çıkışlar

Array
(
    [0] => 
    [1] => "asdjasd">sdadasd</td><td width=25 align="center" >asdasD</td>

)

$ Bom htmlspecialchar kodlanmış nedeniyle bu < dönüştü olsun ve dize bulamıyorum, bu yüzden sadece tüm dizeyi döndürür >.