0

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]

正規表現はどのように書くべきですか?

4

3 に答える 3

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]

http://rubular.com/r/8PEUbDX9zr

于 2012-12-02T12:46:21.427 に答える
0

このようなものだと思います。すべてが同じ行にあると仮定します。

/\<a\.*[link=(.*)\].*$/i
于 2012-12-02T10:09:24.337 に答える
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'...)
?>

動作するはずです:)

于 2012-12-02T10:14:47.997 に答える