Nasıl belirli bir alana metin ekleyebilirsiniz?

3 Cevap

Ben bu gibi bir satır varsa,

<option value="someval">somval</option>

nasıl değerinin son tırnak sonra imleci ve abcdef gibi bir şey koyabilirsiniz?

Bu nedenle, çıkış olur

<option value="somval" abcdef>somval</option>

ile PHP?

Ben dinamik bunu yapmak istiyorum ve ben bunu nasıl anlamaya olamaz. I strpos() bakıyorum, ama nasıl yapılabilir görmüyorum. Ben bir metin kutusu içine seçenek etiketleri bir demet gönderme olacak ve kod oluşturulur. bu yüzden seçenek alanları çok olacak.

@ Martin - Ben büyük bir açılan var ve her seçenek var, bir ülkeyi listeler söyleyin. Aksine elle böyle bir şey yazmak zorunda kalmak daha:

$query = $db->query("my query....");
while($row = $db->fetch($query)) {

<select name="thename">
    <option value="someval" <?php if($row['someval'] == 'someval') { print "selected"; } ?> >someval</option>
    <option value="someval" <?php if($row['someval'] == 'someval') { print "selected"; } ?> >someval</option>
    <option value="someval" <?php if($row['someval'] == 'someval') { print "selected"; } ?> >someval</option>
    ... Followed by 100 more, because there are a lot of locations to list.
</select>

Nasıl ben bir metin kutusu içine var ve zaman tasarrufu için otomatik olarak oluşturulur Yukarıdaki kod tüm seçenekleri gönderebilir miyim?

3 Cevap

Sizin örnek sen yapardın kullanma:

while($row = $db->fetch($query)) {
    printf('<option value="someval"%s>someval</option>',
            ($row['someval'] == 'someval') ? ' selected="selected" ' : '');
}

Bu niteliği ile %s yerine, satır ve çıkışı bir seçenek üzerinden gitmek istiyorum selected="selected" if $row['someval'] (equal {[etmektir 4)]}. Tüm seçenek elemanları aynı değer ve metin var, bu nedenle deneyin çünkü Ancak, yukarıda, oldukça anlamsız olduğunu

while($row = $db->fetch($query)) {
    printf('<option value="%s"%s>%s</option>',
            $row['country-code'],
            ($row['country-code'] === $selection) ? ' selected="selected" ' : '',
            row['country-name']);
}

$selection şey olmak ile karşılaştırmak istiyorum. Veritabanındaki gelen uygun tuşları ile $ arkaya anahtarları değiştirin.

Note: The usual disclaimers about securing your output apply

Sen (value=".+?") yakalamak ve $0 abcdef ile yerini alabilir.

<?php

  $string = '<option value="someval">someval</option>';
  print preg_replace("/(value=\".+?\")/i", "$0 abcdef", $string);

?>

Hangi aşağıdaki çıktılar:

<option value="someval" abcdef>someval</option>

PHP ile, istediğiniz herhangi bir metin ile bir bütün dize oluşturabilir. Orijinal dize nerede var? Bir değişken veya bir metin dosyasında?