2017-11-06 4 views
-2

私は、テキストへのリンクを追加するには、htmlをpreg_matchする必要があります。preg_matchリンク先のテキスト

'![a-z][a-z-]+://!i' 

例:現在使用

some text mylink.com 
Become 
some text <a href="mylink.com">mylink.com</a> 

をそして、それは大丈夫です。しかし、私はすでに最初のコードで「a href」を持っており、スキップする必要があります。最初の空きスペースとのリンクを検出するために、このpreg_matchを変更する必要があります。多分:

'!^[a-z][a-z-]+://!i' 

しかし、これは動作しません、どんな助け?

+0

https://stackoverflow.com/questions/13105960使用します/ replace-text-link-as-link-with-preg-replaceあなたのregexは意図したURLを正しく見つけ出すにはあまりにも非特異的です。 –

答えて

0
'/<a\s+(?:[^"'>]+|"[^"]*"|'[^']*')*href=("[^"]+"|'[^']+'|[^<>\s]+)/i' 

は、またはあなたがsimpledom praser =>http://simplehtmldom.sourceforge.net/例えば、SO、ここでこれらのリンクの交換方法についても、上の穴ロッタの質問があります

//from string 
$html = str_get_html($links); 

//or from webpage 
$html = file_get_html('www.example.com'); 

foreach($html->find('a') as $link) { 
    echo $link->href . '<br />'; 
} 
関連する問題