【问题标题】:PHP Single Quote Regex for Text in the First Line第一行文本的 PHP 单引号正则表达式
【发布时间】:2013-04-22 21:01:56
【问题描述】:

我有一个 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 标记内的文本。我在这样做时遇到了麻烦。 有人可以帮我弄这个吗?另外,如何转义 ''' 单引号?
感谢您的所有帮助。

彼得

【问题讨论】:

标签: php regex mediawiki-api


【解决方案1】:

试试这个:

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

这比使用正则表达式要便宜得多,而且希望也能减少混乱。

【讨论】:

    【解决方案2】:

    试试这个:

    $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];
    }
    

    【讨论】:

    • 为了避免混淆较长的字符串/重复''',我会这样做
    • 您好,感谢您的所有回复和建议。我终于弄清楚了,并决定看看正则表达式: /(?stackoverflow.com/questions/2411799/regex-expert-php-lookaround
    猜你喜欢
    • 2011-03-31
    • 2021-05-27
    • 2013-10-20
    • 1970-01-01
    • 2015-12-07
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    相关资源
    最近更新 更多