大家好, 想請教一下如果可以在php先從一堆文字找到文字的連結再轉換成anchor tag包住.
有或者是沒有在link 前加http/https/www 的regex , 謝謝.
剛剛好有在玩這遊戲........javascript版,沒動用任何js框架
https://jsfiddle.net/mps6g0uh/15/
HTML
<p>打字打字打字http://www.abc.com.tw/vinvin/x/s/a/c/d/這是網址</p>...但不能直接點
<hr>
<div>
</div>
這就可以點了
javascript
let reg1 = /((https*\:\/\/)+(.+\.*){2,}\/([\w]\/*)+)/ig;
let source = document.getElementsByTagName("p");
let target = document.getElementsByTagName("div");
target[0].innerHTML = source[0].innerText.replace(reg1,'<a href="$1" target="_blank">$1</a>');
感謝japhen, 謝謝你的火速救援
我找了一個
/((https?|ftp)://)?([a-z0-9+!(),;?&=.-]+(:[a-z0-9+!(),;?&=.-]+)?@)?([a-z0-9-.]).(([a-z]{2,4})|([0-9]{1,3}.([0-9]{1,3}).([0-9]{1,3})))(:[0-9]{2,5})?(/([a-z0-9+%-].?)+)/?(?[a-z+&$.-][a-z0-9;:@&%=+/.-]*)?(#[a-z.-][a-z0-9+$%_.-]*)?([\x{4e00}-\x{9fa5}a-zA-Z0-9]+)?/i
但不知道為何我在網上tester測試成功, 但用preg_match過不到.....
網址前後跟普通文字共串的地方是不是有隔空白?