我是preg_match模式的新手,所以如果有人可以帮我处理下一个情况,我会很高兴:
我需要替换那些字符串:
[popup="about"]about me[/popup]
到
<a href="#PopupAbout" data-plugin-options='{"type":"inline", preloader: false}'>about me</a>
我尝试了$pattern = '/\[popup="(.*?)"\](.*?)\[\/popup\]/';
,但它没有给我预期的结果,它给出了重复的结果。我怎样才能以一种简单的方式取而代之!
问候!
答案 0 :(得分:1)
怎么样:
$str = preg_replace('~\[popup="about"\](.+?)\[/popup\]'~,
"<a href=\"#PopupAbout\" data-plugin-options='{\"type\":\"inline\", preloader: false}'>$1</a>",
$str);
答案 1 :(得分:0)
试试这个:
preg_match("/\[popup="(.*)"\](.*?)\[\/popup\]/", $input_line, $output_array);
我得到了这个结果:
Array
(
[0] => [popup="about"]about me[/popup]
[1] => about
[2] => about me
)
您可以在线测试:http://www.phpliveregex.com/