【问题标题】:Get everything after word获取所有信息
【发布时间】:2012-07-02 16:00:31
【问题描述】:

获取这个 Lorem Ipsum 文本:

Lorem ipsum dolor sit amet,consectetur adipiscing elit。 Nulla felis diam, mattis id elementum eget, ullamcorper et purus。

我如何使用 PHP 和正则表达式获取 Nulla 之后的所有内容?

【问题讨论】:

  • 你想要第二句以后的单词吗?还是您想要“Nulla”之后的文字?

标签: php regex


【解决方案1】:

嗯,你不想使用一些简单的东西,比如:

$str = substr($lorem, strpos($lorem, 'Nulla'));

如果你不想寻找 Nulla,但也想寻找 'null',你可以考虑使用 stripos 而不是 strpos... 此代码将在返回值中包含 Nulla。如果您想排除 Nulla,您可能需要将它的 lentgh 添加到 strpos 值,即

$str = substr($lorem, strpos($lorem, 'Nulla') + 5);

最后,如果您需要一些更通用的东西,并且按照@Francis 的建议:

$needle = 'Nulla'; 
$str = substr($lorem, strpos($lorem, $needle) + strlen($needle));

老实说,正则表达式对于这样的事情来说太过分了......

【讨论】:

  • 如果要限制生成的字符串,使用 substr 的第三个参数:$str = substr($lorem, strpos($lorem, 'Nulla'), 50); 将返回 'Nulla' 开头的 50 个字符
  • 对于第二个例子,我会更进一步:$sample = 'Nulla'; $str = substr($lorem, strpos($lorem, $sample) + strlen($sample)); 而不是魔术5 使用strlen
【解决方案2】:

试试这个:

$string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla felis diam, mattis id elementum eget, ullamcorper et purus.";
$prefix = "Nulla";
$index = strpos($string, $prefix) + strlen($prefix);
$result = substr($string, $index);

【讨论】:

    【解决方案3】:
    /Nulla(.*)/
    

    现在你已经有了 $1 中 Nulla 之后的所有文本

    【讨论】:

      【解决方案4】:
      $string = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla felis diam, mattis id elementum eget, ullamcorper et purus.';
      
      preg_match('/Nulla(.*)/',$string, $matches);
      print_r($matches);
      

      【讨论】:

        【解决方案5】:

        不是最佳选择,但您可以考虑在适合的地方:

        <?php
        
        $myString = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla felis diam, mattis id elementum eget, ullamcorper et purus.";
        $explodedArray = explode("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla",$myString);
        echo $explodedArray[1];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-22
          • 2011-03-17
          • 1970-01-01
          • 2021-05-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多