好的,我需要帮助这个: 我觉得我需要向后匹配的东西吗? 就像“从'。''向后匹配到第一个空间” 我需要用链接替换一些文本。
请参阅下面我要尝试完成的示例:
blabla hello www.test.no bla => blabla hello <a href="www.test.no">www.test.no</a> bla
blabla hello test.no bla => blabla hello <a href="test.no">test.no</a> bla
blabla hello http://www.test.no bla => blabla hello <a href="http://www.test.no">http://www.test.no</a> bla
任何?
答案 0 :(得分:2)
我仍然不明白你需要什么 ,因为你的例子没有得到很好的解释,但是这里有:
preg_replace('/[^ ]+\.no/', '<a href="$0">$0</a>', $your_text);
编辑:你去了:
preg_replace("~(http://)?([^ ]+\.no)~", '<a href="http://$2">$2</a>', $your_text);
答案 1 :(得分:0)
你没有机会知道第二行是否真的是一个链接而不试图ping它(例如curl)。
但你可以用
做第三名preg_replace('~(http://.*?) ~', '<a href="$1">$1</a>', $text);
答案 2 :(得分:0)
$linked = preg_replace('%(?://)?([a-z0-9_\-.]+?\.no)%i', "<a href='http://$1'>$1</a>", $input);