PHP отличный язык на котором можно реализовать практически любой алгоритм.
В первом случаи вы можете использовать функцию explode с разделителем в виде пробела, получите массив на выходе ровно в том порядке, в котором идут слова. А дальше обрабатывайте массив как угодно.
Во втором случаи можно так же использовать explode только при переборе массива учитывать начало и конец заголовка, выставлять флаг начала и флаг конца тега.
Все в ваших руках.