In this paper we consider the string matching problem in hypertext, which is a nonlinear structure of text. We model the hypertext as a directed graph G = (V, E), where each node v is an element of V has text T-v associated with it and each link (v, w) is an element of E connects the end of text T-v to the start of text T-w. We define the string matching problem in hypertext as follows: Given a graph G modeling a hypertext and a pattern P, find all occurrences of the pattern in graph G. The pattern length is m and the sum of the lengths of all texts T-v in G is N. The main difficulty in the hypertext string matching problem is that the pattern may occur across links. There is a linear time algorithm for the case when graph G is a tree. In this paper we present a linear O(N + \E\) time algorithm when n(v) length (T-v) is larger than or equal to m for all v, and a more involved algorithm that takes O(N + \E\m) time when there exist some nodes v with n(v) < m. To obtain the results, we combine the notion of witnesses and duels with the suffix tree, which enables us to eliminate possible occurrences of any substring of the pattern.