preg replace — выделять жирным шрифтом, если span содержит прописные буквы с переполнением стека

Я хочу, чтобы теги, содержащие весь заглавный текст, были выделены жирным шрифтом.
этот код делает только первое слово.

$mystring = '<span> BLABLABLA BLA BLA </span><span>bla bla blabla</span><div>bla bla</div>';
preg_replace("/<span>([A-Z]{2,})*/", "<b>\\1</b></span>",$mystring);

благодарю вас
я хочу результат как <span><b> BLABLABLA BLA BLA </b></span><span>bla bla blabla</span>
нет: в исходных строках слишком много html-тегов

1

Решение

Вот ваше решение:

$myString = '<span> BLABLABLA BLA BLA </span><span>bla bla blabla</span><div>bla bla</div>';

$myString = preg_replace("/<span>([A-Z\s]+)<\/span>/", "<span><b>\\1</b></span>",$myString);

echo $myString;

будет соответствовать каждому слову и будет выводить

<span><b> BLABLABLA BLA BLA </b></span><span>bla bla blabla</span><div>bla bla</div>
1

Другие решения

Пытаться :

preg_replace("~<span>([A-Z\s]+)</span>~","<span><b>$1</b></span>","<span>HELLO WORLD</span>");

Это выведет:

 <span><b>HELLO WORLD</b></span>
0

По вопросам рекламы [email protected]