$re = '/`[^``]*`(*SKIP)(*F)|\(link: ([^)]+\))/';
$str = 'Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
(link: http://wikipedia.org text: Wikipedia title: lala cat: goto)
(link: http://wikipedia.org text: Wikip:edia title: lala cat: goto)Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. (videotest: text: test) Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur `(link: http://bar.foo cat: goto title: foo.title text: Wikip:edia )`sadipscing elitr, magna `aliquyam` erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.(link: http://bar.foo cat: goto title: foo.title text: Wikip:edia )Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
```
(link: http://bar.foo cat: goto title: foo.title text: Wikip:edia )
```
accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.(link: http://moep.lala text: foobar title: foo.bar cat: foobarcat)Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php