Регексп заменяет url на имя хоста. В таком виде: Код (Text): $imgHost = preg_replace("/^https*\:\/\/([^\/]+?)\/.*/ie", "\\1", $row['url']); Выдаёт нотисы: Notice: Use of undefined constant i082 - assumed 'i082' in /path : regexp code on line 1 Notice: Use of undefined constant radikal - assumed 'radikal' in /path : regexp code on line 1 Notice: Use of undefined constant ru - assumed 'ru' in /path : regexp code on line 1 .............. А в таком, при дополнительных кавычках в строке с обратной ссылкой, нормально срабатывает: Код (Text): $imgHost = preg_replace("/^https*\:\/\/([^\/]+?)\/.*/ie", "\"\\1\"", $row['url']); Почему в первом случае обратная ссылка в кавычках не интерпретируется как строка? Рабочий случай тоже непонятен.
Если в начале http или https затем :// и (далее более одного любого(кроме /) символа) затем обязательно / и далее любые символы, то всё это совпадение заменяется на обратную ссылку - далее более одного любого(кроме /) символа
вобщем лень всё объяснять. что значит обратная ссылка даже знать не хочу =) регулярка делает это, судя по её виду. PHP: <? print preg_replace("#(?:(?:https?|ftp)\:\/\/)?((?:[a-z0-9]{2,}[\.\-]?)+\.[a-z0-9]{2,})(?:\/[^\s]*)?#is","\\1",$text);