我有以下内容
$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返回之后的所有内容。