Установите аппаратный таймер на пользовательское значение в команде QNX - devctl

Держите это просто! Скажите, что у вас не может быть, а не то, что вы можете иметь:)

Как упоминалось выше, URL-адреса могут быть довольно сложными, особенно после «?», И не все они начинаются с «www». например maps.bing.com/something?key=!"£$%^*()&lat=65&lon&lon=20

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

]

Матч

http(s):// (anything but a space)+

www. (anything but a space)+

Где «что угодно» [^'"<>\s] ... в основном жадный матч, продолжающийся вам встретить пробел, цитату, угловую скобку или конец строки

Также:

Не забудьте проверить, что она еще не в формате URL, например текст содержит href="..." или src="..."

Добавить ref = nofollow (при необходимости)

Это решение не так «хорошо», как упомянутые выше библиотеки, но в значительной степени проще и хорошо работает на практике.

if html.match( /(href)|(src)/i )) {
    return html; // text already has a hyper link in it
    }

html = html.replace( 
            /\b(https?:\/\/[^\s\(\)\'\"\<\>]+)/ig, 
            "<a ref='nofollow' href='$1'>$1</a>" 
            );

html = html.replace( 
            /\s(www\.[^\s\(\)\'\"\<\>]+)/ig, 
            "<a ref='nofollow' href='http://$1'>$1</a>" 
            );

html = html.replace( 
             /^(www\.[^\s\(\)\'\"\<\>]+)/ig, 
            "<a ref='nofollow' href='http://$1'>$1</a>" 
            );

return html;
1
задан 18 January 2019 в 08:28
поделиться