Try the following:
(?:[\[\(]\w+\.\w+[\]\)])|(?:[\[\(](?=[0-9A-Za-z]))|(?:(?<=[0-9A-Za-z])[\]\)])
$result = preg_replace('/(?:[[(]\w+\.\w+[\])])|(?:[[(](?=[0-9A-Za-z]))|(?:(?<=[0-9A-Za-z])[\])])/m', '', $subject);
Explanation:
when the above RegEx applies to:
[Nibh justo] elit Nulla [link.pdf] auctor ipsum molestie (link.pdf)
Condimentum euismod non [link.xls](link.xls) [link.doc](link.doc) tempus
In [Curabitur] et
creates the desired result:
Nibh justo elit Nulla auctor ipsum molestie
Condimentum euismod non tempus
In Curabitur et
source
share