2013-09-24 7 views
2

Я работаю над странной проблемой с возвратом каретки в веб-форме, вызывающей замешательство в моих выражениях регулярных выражений. Я новичок в регулярном выражении, поэтому, пожалуйста, простите любые тупые вопросы.Regex и возврат каретки

Когда моя форма передает входные данные из текстовой области, следующие функции используются для включения любой квалификационной строки в гиперссылка:

function make_links_clickable($message) 
    { 
    return preg_replace('!(((f|ht)tp(s)?://)[-a-zA-Zа-яА-Я()[email protected]:%_+.~#?&;//=]+)!i', '<a href="$1" target="_blank">$1</a>', $message); 
    } 
function make_links_clickable2($message) 
    { 
    return preg_replace('!(www\.)?[a-z0-9\-]+\.([a-z]{2,3}(\.?[a-z]{2,3})?)!i', '<a href="http://$0" target="_blank">$0</a>', $message); 
    } 
$message = make_links_clickable2($message); 

Проблемы, кажется, во второй функции. Когда я использую эти функции, то результат выглядит следующим образом:

www.google.com 
http://www.google.com 
nwww.google.com 
http://www.google.com 

Третий выход имеет «п» в начале (и его гиперссылка также испортила), который, кажется, от возврата каретки. Не знаю, как это происходит.

+0

Использует ли форма, с которой вы работаете, PUT или GET? – Leptonator

+0

@Leptonator вы имеете в виду PUT или POST (есть разница)? В любом случае, как вы думаете, это может иметь значение? – Christoph

+0

Да - я не думаю, что проблема в том, как вы возвращаете карету - но если нажать enter, чтобы отправить форму. – Leptonator

ответ

0

Я на самом деле не в этом, но это возможно, что у вас есть, чтобы избежать обратной косой черты дважды нравится:

'!(www\\.)?[a-z0-9\-] etc. 

Это может быть проблемой.

Приветствие

Смежные вопросы