Есть код, который выполняет замену в $message: PHP: $message = preg_replace('#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si', "[AHREF]$0[/AHREF]", $message); PHP: $message = 'https://mydomain.ru?get=1'; В итоге получается PHP: $message = '[AHREF]https://mydomain.ru[/AHREF]?get=1' когда должно получиться PHP: $message = '[AHREF]https://mydomain.ru?get=1[/AHREF]' В чем проблема?
http://stackoverflow.com/a/6041965 PHP: preg_replace("/(http|ftp|https):\/\/([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/i", "($0)", "http://mail.ru https://www.google.com/?sgsd=45 test sdfsf http://php.ru");
@Great_DUKE лучше сразу описать задачу полностью попробуй этот ответ http://stackoverflow.com/a/6427654
У меня возникает еще одна проблема. PHP: $message='mydomain.ru?get=1&post=1'; $message = preg_replace('/((http|ftp|https):\/\/)?([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/', "[AHREF]$0[/AHREF]", $message); Получается PHP: $message = '[AHREF]mydomain.ru?get=1&[/AHREF];post=1' Вопрос: Откуда взялся символ ";" в переменной $message?