我有以下
$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个字符起作用,但是,列表中的某些条目没有“我的名字是”,因此这也删除了名称。
我似乎无法找到允许我定义我想删除的表达式的东西。
任何想法?
由于
答案 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返回所有内容。