如何从右到左提取破折号之间的特定文本

我的文字看起来像这样:


This is some-text for - Extracted Text - random

This is-some-text for - Extracted Text - another random

This-is a third-text for - Extracted Text - more random

我想Extracted Text从 PHP 文本中提取。


我试过这个。


$titleTrimd = explode('-', $title);

$TrimdTitle=trim($titleTrimd[1]);

我面临的挑战是,由于[1]不确定,它选择了错误的文本。我需要从右到左提取才能正常工作(从右侧计算破折号的数量)。这样我总能得到目标文本。这是因为在提取的文本的左侧,破折号字符的数量会发生变化,并且可以是任何内容,但右侧的数字是静态的,因此从右到左检查将起作用。我只是不知道该怎么做。


请帮忙。


阿晨1998
浏览 71回答 1
1回答

哆啦的时光机

您可以通过使用来做到这一点explode,然后通过指定从右侧开始的位置来提取所需的值:<?phpfunction extractText($str){&nbsp; &nbsp; // Break the string into an array&nbsp; &nbsp; $exp = explode('-', $str);&nbsp; &nbsp; // `count` will return number of elements in an array.&nbsp; &nbsp; // Since array index starts from zero, to retrieve 2nd last element we need to use `-2`&nbsp; &nbsp; // Remove spaces at the start and end of the text by using `trim` function&nbsp; &nbsp; return trim($exp[count($exp) - 2]);&nbsp;}echo extractText('This is some-text for - Extracted Text - random'); // Extracted Textecho PHP_EOL;echo extractText('This is-some-text for - Extracted Text - another random'); // Extracted Textecho PHP_EOL;echo extractText('This-is a third-text for - Extracted Text - more random'); // Extracted Text?>
打开App,查看更多内容
随时随地看视频慕课网APP