Комментарий Джека Мани ... EPIC: D
На более серьезной ноте это не работает, потому что вы завершили строковый литерал прямо посередине.
Чтобы включить двойную кавычку("
) в строке, вам нужно экранировать ее, используя \
Итак, строка будет
$regex="/(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'\".,<>?«»“”‘’]))/";
Обратите внимание, что я избежал ('
) также.Это для случаев, когда вы определяете строку между 2 одинарными кавычками.