-3

您好,我想删除自定义标签中的内容,如下所示:

$string = "The sky is -start-content here-end- blue."

echo $string // results: The sky is blue.

自定义标签:-start--end-

我找不到这样做的方法......有人吗?请...谢谢你。

这有效:

$row = preg_replace('#(-end-).*?(-start-)#', '$1$2', $row);

谢谢大家!这行得通。

4

3 回答 3

3

这是你想要的吗?

$string = preg_replace('/\s+-start-.*?-end-\s+/', ' ', $string);
于 2013-06-27T00:14:30.533 回答
2

像这样的东西应该工作:

$haystack = "The sky is -start-content here-end- blue.";
$start = "-start-";
$end = "-end-";

$startpos = strpos ( $haystack , $start );
$endpos =  strpos ( $haystack , $end, $startpos ) + strlen( "-end-" );

$length = $endpos - $startpos;
$newhaystack = substr_replace($haystack, "", $startpos, $length);

echo $newhaystack;
于 2013-06-27T00:10:55.650 回答
1

Use

$a = explode("-start-",$string);
$b = explode("-end-",$a[1]);

echo $a[0].$b[1];
于 2013-06-27T00:02:13.633 回答