我的文字包含“a href
”和“[link]
”链接。我想preg_split这个文本,并有数组在[i]我可以找到链接
示例:
My text <a href="www.example.com">text</a> this continues [link=http://www.second.com]link[/link]
=>
[0] My text
[1] <a href="www.example.com">text</a>
[2] this continues
[3] [link=http://www.second.com]link[/link]
我应该如何写我的正则表达式?
答案 0 :(得分:1)
(.+)(\<a.+\/a>)(.+)(\[link.+\/link])
产生
Match groups:
1. My text
2. <a href="www.example.com">text</a>
3. this continues
4. [link=http://www.second.com]link[/link]
答案 1 :(得分:0)
我猜是这样的。假设一切都在同一条线上..
/\<a\.*[link=(.*)\].*$/i
答案 2 :(得分:0)
<?php
$text = 'My text <a href="www.example.com">text</a> this continues [link=http://www.second.com]link[/link]';
preg_match_all('/(?:href="|link=)(.*?)(?:"|\])/is', $text, $links);
// $links[1] = array('link', 'link', 'link'...)
$links = $links[1]; // $links = array('link'...)
?>
应该工作:)