【发布时间】:2011-07-18 06:27:41
【问题描述】:
所以说我会写类似<break> 的东西,它会显示<break> 之前的所有内容
$text = "I like apple pies<break>Do you like Apple pies?";
所以它应该只输出
I like apple pies
【问题讨论】:
所以说我会写类似<break> 的东西,它会显示<break> 之前的所有内容
$text = "I like apple pies<break>Do you like Apple pies?";
所以它应该只输出
I like apple pies
【问题讨论】:
试试这个:
$text = "I like apple pies<break>Do you like Apple pies?";
$texplode = explode('<break>',$text);
echo $texplode[0];
【讨论】:
$text = "I like apple pies<break>Do you like Apple pies?";
list($result) = explode('<break>',$text,2);
【讨论】:
list($result) = explode('<break>',$text,2); 更有效,尤其是当字符串在<break> 标记之后很长时(php 不必搜索整个字符串)。
$good = substr( $bad, 0, strpos( $bad, "<break>" ) );
【讨论】:
作为一个函数:
function BeforeBreak($input)
{
return stristr($input, '<break>', true);
}
请注意,此功能需要 PHP 5.3.0。
【讨论】:
<break> 执行不区分大小写的搜索。该功能将是一个好主意,+1。
<BREAK>,但如果区分大小写很重要,请改用strstr。
这会给你你想要的:
<?
$output = strstr($text, '<break>', true);
?>
如果出现多次,最好使用
<?
$text = 'a<break>b<break>c<break>d';
$output = explode('<break>', $text);
// the output will be
// array('a', 'b', 'c', 'd');
?>
【讨论】:
before_needle 参数。不错的答案,+1。