Sınıf ve id niteliklerini kaybetmeden 'seçeneği' ile 'li' yerine Regex

3 Cevap php

Ben preg_replace veya değiştirmek için benzer bir yöntem kullanarak bir çözüm arıyorum:

<li id="id1" class="authorlist" />
<li id="id2" class="authorlist" />
<li id="id3" class="authorlist" />

karşı

<option id="id1" class="authorlist" />
<option id="id2" class="authorlist" />
<option id="id3" class="authorlist" />

I think I have the pattern correct, but not sure how karşı do the replacement part...

İşte (wordpress) php kodu:

$string = wp_list_authors( $args ); //returns list as noted above
$pattern = '<li ([^>]*)';
$replacement = '?????';
echo preg_replace($pattern, $replacement, $string);

Öneriler, lütfen?

3 Cevap

Ben basit bir dize değiştirme iyi olacağını düşünüyorum

str_replace('<li', '<option', $string)

Bitiş etiketlerini aynı

str_replace('</li', '</option', $string)

Bu gibi:

echo str_replace('</li', '</option', (str_replace('<li', '<option', $string));

Sen desen bir sınırlayıcı gerekir. Örneğin:

$pattern = '@<li @';
$replacement = '<option ';