DANFA

Замена фраз на PHP (Оптимизация текста)

Время от времени я редактирую записи на сайте, чтобы обвернуть кое какие фразы/слова в подходящие на мой взгляд теги, например, подчеркнуть, выделить жирным шрифтом или сделать фразу анкором ссылаясь на другую страницу. Чтобы не прибегать к "излишним" редактированиям, я решил написать сценарий, который будет обворачивать заранее выбранные фразы, так как надо мне. Вот, что у меня получилось:
	public function phraseReplacement($text)
	{
		$phrase = array(
			'DANFA'       => '[b]DANFA[/b]',
			'вялить рыбу' => '[url=https://danfa.net/forum/thread/388/]вялить рыбу[/url]'
		);

		foreach ($phrase as $key => $value)
		{
			$text = preg_replace('~(\s|^)' . $key . '~isu', '$1' . $value, $text);
		}

		return $text;
	}

Фразы массива $phrase являются ключами, по этим ключам будем искать фразы, которые надо заменить. А заменять будем на значения массива $phrase. Если фраза или слово уже завернуто в теги, то замена не будет происходить.