func detailHandler(w http.ResponseWriter, r *http.Request) {
	phrase := r.FormValue("phrase")
	sentences := []string{phrase}
	meter := r.FormValue("meter")
	rams := article.FindRhymeAndMetersInSentences(&sentences, meter, syllabi)
	meterRegexp, _ := rhyme.ConvertToEmphasisPointsStringRegexp(meter)

	type PhraseDetails struct {
		Phrase                string
		Sentences             *[]string
		Meter                 string
		MeterRegexp           *regexp.Regexp
		RhymeAndMeters        *[]*rhyme.RhymeAndMeter
		KnownUnknowns         *[]string
		EmphasisPointsDetails *rhyme.EmphasisPointsDetails
	}

	pd := PhraseDetails{
		Phrase:                phrase,
		Sentences:             &sentences,
		Meter:                 meter,
		MeterRegexp:           meterRegexp,
		RhymeAndMeters:        rams,
		KnownUnknowns:         syllabi.KnownUnknowns(),
		EmphasisPointsDetails: syllabi.FindAllEmphasisPointsDetails(phrase),
	}

	templateExecuter(w, "detailPage", pd)
}
func FindRhymeAndMetersInSentences(sentences *[]string, meter string, syllabi *rhyme.Syllabi) *[]*rhyme.RhymeAndMeter {
	rams := []*rhyme.RhymeAndMeter{}

	if meter == "" {
		meter = rhyme.DefaultMeter
	}

	emphasisRegexp, emphasisRegexpSecondary := rhyme.ConvertToEmphasisPointsStringRegexp(meter)

	for _, s := range *(sentences) {
		syllabiRams := syllabi.RhymeAndMetersOfPhrase(s, emphasisRegexp, emphasisRegexpSecondary)

		for _, ram := range *syllabiRams {
			if ram.EmphasisRegexpMatch2 != "" {
				rams = append(rams, ram)
			}
		}
	}

	return &rams
}