PHP preg_match URL格式

时间:2014-02-21 14:45:08

标签: php url formatting preg-replace

我不太确定我应该如何说出这个标题,道歉。 X_X

我基本上是在尝试将字符串转换为格式化的URL,类似于Reddit / Stackoverflow的工作方式。

EG。 [Hello World](http://google.com) = Hello World

以下两项工作,但在组合在一起时不起作用。

preg_replace("/\[([^\]]+)\]/", ... //Works for [Hello World]

preg_replace("/\(([^\)]+)\)/", ... //Works for (Hello World)

preg_replace("/\[([^\]]+)\]/\(([^\)]+)\)/", ... //Doesn't work

正则表达式让我感到困惑x_x帮助赞赏!

2 个答案:

答案 0 :(得分:0)

使用此\[([^\[\]]*)\](.*)

$input_lines="[Hello World](http://google.com)";

preg_replace("/\[([^\[\]]*)\](.*)/", "$1", $input_lines);

答案 1 :(得分:0)

$str = '[Hello World](http://google.com)';
preg_replace('/\[([^\]]+)\]\(([^\)]+)\)/', '<a href="$2">$1</a>', $str);