删除结果的一部分


Deleting part of a result

我有以下内容

$html   .= '<option value="' . $option['id'] . '"' . $selected . '>' . JText::_( $option['name'] ) . '</option>';

显示数据库中的数据并填充下拉列表。

eg data 
My name is John
My name is Jim
My name is Jason
My name is Julie

我想做的是从每个结果中删除"我的名字是",所以列表只是名字。

我已经尝试了以下

JText::_( substr($option['name'],strlen('my name is ')) ) . '</option>';

通过删除前11个字符来工作,但是,列表中的一些条目没有"My Name is",因此也删除了名称。

我似乎找不到允许我定义我想要删除的表达式的东西。

任何想法?

谢谢

使用str_replace:

$html   .= '<option value="' . $option['id'] . '"' . $selected . '>' . 
    JText::_( str_replace("My name is ", "", $option['name']) ) . 
    '</option>';

将出现的"My name is "替换为一个空字符串。如果搜索字符串不存在,它将什么也不做。

假设要获取的名称始终是一个单词,并且始终位于字符串的末尾,下面的命令应该只返回名称:

JText::_( substr($option['name'], strrpos($option['name'], ' ') ) ). '</option>';

我们所做的只是使用strpos搜索最后出现的空格字符,然后使用substr返回之后的所有内容。