Примерно так будет работать:
preg_split('/(<strong>|<b>)/', $html1, 3, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
Учитывая вашу тестовую строку:
$html1 = '<strong>My content</strong>This is my content.<b>Some more bold</b>content';
вы бы в итоге получили
Array (
[0] => <strong>
[1] => My content</strong>This is my content.
[2] => <b>
[3] => Some more bold</b>content
)
Теперь, если ваша примерная строка НЕ начиналась с strong / b:
$html2 = 'like the first, but <strong>My content</strong>This is my content.<b>Some more bold</b>content, has some initial none-tag content';
Array (
[0] => like the first, but
[1] => <strong>
[2] => My content</strong>This is my content.
[3] => <b>
[4] => Some more bold</b>content, has some initial none-tag content
)
и простой тест, чтобы увидеть, является ли элемент № 0 тегом или текстом, чтобы определить, где начинается ваш текст «второй тег и далее» (элемент № 3 или элемент № 4)