Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用正则表达式在括号之间添加文本链接_Php_Regex - Fatal编程技术网

Php 如何使用正则表达式在括号之间添加文本链接

Php 如何使用正则表达式在括号之间添加文本链接,php,regex,Php,Regex,我想找出括号中出现的所有文本: $str = 'text1 [text2] text3 [text4] text5'; 然后像这样改变它们: text1 <a href="dir/text2">text2</a> text3 <a href="dir/text4">text4</a> text5 我试图找到一些函数来适应,但现在正则表达式对我来说完全不可理解 感谢您的帮助。查找: '~\[([^\]]+)\]~' 替换: '<a hre

我想找出括号中出现的所有文本:

$str = 'text1 [text2] text3 [text4] text5';
然后像这样改变它们:

text1 <a href="dir/text2">text2</a> text3 <a href="dir/text4">text4</a> text5
我试图找到一些函数来适应,但现在正则表达式对我来说完全不可理解

感谢您的帮助。

查找:

'~\[([^\]]+)\]~'
替换:

'<a href="dir/$1">$1</a>'
查找:

'~\[([^\]]+)\]~'
替换:

'<a href="dir/$1">$1</a>'

现在它用第一场比赛取代了所有的观众。这是我的代码$reg='\[^\]]+\]'$str='text1[text2]text3[text4]text5';如果preg_match$reg,$str,$url{echo preg_replace$reg,$str;}你能帮我一下吗?现在它用第一个匹配替换了所有的眼镜。这是我的代码$reg='\[^\]]+\]'$str='text1[text2]text3[text4]text5';如果preg_匹配$reg,$str,$url{echo preg_replace$reg,$str;}你能帮我吗?