第一行中用于文本的PHP单引号正则表达式

时间:2013-04-22 21:01:57

标签: php regex mediawiki-api

我有一个wiki网站(MediaWiki),我需要从每个wiki文章页面的第一行中提取一些纯文本。每个wiki文章页面的第一行都有我想要的文本,但文本在wiki标记标记内,例如:

$text = "Text that I DO NOT want '''Text that I do want, inside wiki tags''' text that I DO NOT want";

我已经弄清楚PHP正则表达式将文本提升到第一行的末尾:

if(preg_match("/^.*/", $text, $match)){
  echo "<br>This is the text in the first line of the wiki article page: ".$match[0];
}

我需要将上面的/^.*/表达式与PHP正则表达式结合起来,才能找到''' wiki标记内的文本。而我在做这件事时遇到了麻烦。 有人可以帮我弄这个吗?另外我如何逃避'''单引号? 谢谢你的帮助。

彼得

2 个答案:

答案 0 :(得分:1)

试试这个:

$parts = explode("'''",$text,3);
$part_you_want = $parts[1];

这比使用正则表达式便宜得多,希望也不那么容易混淆。

答案 1 :(得分:0)

试试这个:

$text = "Text that I DO NOT want '''Text that I do want, inside wiki tags''' text that I DO NOT want";
if(preg_match("/'''(.*)'''/", $text, $match)){
  echo "<br>This is the text in the first line of the wiki article page: ".$match[1];
}