为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
阿晨1998 2024-01-19 15:47:00
我的文字看起来像这样:This is some-text for - Extracted Text - randomThis is-some-text for - Extracted Text - another randomThis-is a third-text for - Extracted Text - more random我想Extracted Text从 PHP 文本中提取。我试过这个。$titleTrimd = explode('-', $title);$TrimdTitle=trim($titleTrimd[1]);我面临的挑战是,由于[1]不确定,它选择了错误的文本。我需要从右到左提取才能正常工作(从右侧计算破折号的数量)。这样我总能得到目标文本。这是因为在提取的文本的左侧,破折号字符的数量会发生变化,并且可以是任何内容,但右侧的数字是静态的,因此从右到左检查将起作用。我只是不知道该怎么做。请帮忙。
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

您可以通过使用来做到这一点explode,然后通过指定从右侧开始的位置来提取所需的值:


<?php

function extractText($str)

{

    // Break the string into an array

    $exp = explode('-', $str);


    // `count` will return number of elements in an array.

    // Since array index starts from zero, to retrieve 2nd last element we need to use `-2`

    // Remove spaces at the start and end of the text by using `trim` function

    return trim($exp[count($exp) - 2]); 

}


echo extractText('This is some-text for - Extracted Text - random'); // Extracted Text

echo PHP_EOL;

echo extractText('This is-some-text for - Extracted Text - another random'); // Extracted Text

echo PHP_EOL;

echo extractText('This-is a third-text for - Extracted Text - more random'); // Extracted Text

?>


查看完整回答
反对 回复 2024-01-19
  • 1 回答
  • 0 关注
  • 62 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信