删除部分结果

时间:2013-05-02 09:28:03

标签: php joomla

我有以下

$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个字符起作用,但是,列表中的某些条目没有“我的名字是”,因此这也删除了名称。

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

任何想法?

由于

2 个答案:

答案 0 :(得分:0)

使用str_replace

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

用空字符串替换任何出现的“我的名字”。如果搜索字符串不存在,它将不执行任何操作。

答案 1 :(得分:0)

假设要获取的名称始终是一个单词并且始终位于字符串的末尾,则以下内容应仅返回名称:

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

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