0

我有以下

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

我似乎找不到可以定义我要删除的表达式的东西。

有任何想法吗?

谢谢

4

2 回答 2

0

使用str_replace

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

这会将任何出现的“我的名字是”替换为一个空字符串。如果搜索字符串不存在,它将什么也不做。

于 2013-05-02T09:34:01.950 回答
0

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

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

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

于 2013-05-02T09:54:31.520 回答