PHP 爆炸显示分隔符
PHP Explode Show Seperator
所以我写了下面的代码来显示句子中第四个句号/句号之后的单词。
$text = "this.is.the.message.seperated.with.full.stops.";
$limit = 4;
$minText = explode(".", $text);
for($i = $limit; $i < count($minText); $i++){
echo $minText[$i];
}
该算法正在运行,它向我展示了第四个“.”之后的其余句子。句号/句号....我的问题是输出没有显示句子中的句号,因此它只显示没有正确标点符号“。”的文本。 ....有人可以帮我解决如何修复代码以显示句号/句号吗?
非常感谢
$text = "this.is.the.message.seperated.with.full.stops.";
$limit = 4;
$minText = explode(".", $text);
for($i = $limit; $i < count($minText); $i++){
echo $minText[$i].".";
}
如果您想在单词之间的句点上将其拆分,但将末尾的那个保留为实际标点符号,您可能需要使用 preg_replace()
将句点转换为另一个字符,然后展开它.
$text = "this.is.the.message.seperated.with.full.stops.";
$limit = 4;
//replace periods if they are follwed by a alphanumeric character
$toSplit = preg_replace('/\.(?=\w)/', '#', $text);
$minText = explode("#", $toSplit);
for($i = $limit; $i < count($minText); $i++){
echo $minText[$i] . "<br/>";
}
哪个产量
seperated
with
full
stops.
当然,如果您只想打印所有句点,请在 echo
术语后添加它们。
echo $minText[$i] . ".";
您可以使用 strpos() 函数通过更改偏移参数来查找字符串中分隔符 (.) 的第 n 个位置,而不是拆分输入字符串然后对其进行迭代。
那么,就是从我们刚刚确定的位置开始打印子串了。
<?php
$text = "this.is.the.message.seperated.with.full.stops.";
$limit = 4;
$pos = 0;
//find the position of 4th occurrence of dot
for($i = 0; $i < $limit; $i++) {
$pos = strpos($text, '.', $pos) + 1;
}
print substr($text, $pos);
你可以试试这个...
for($i = $limit; $i < count($minText); $i++){
echo $minText[$i].".";
}
注意 echo 命令末尾添加的句点 //...;
如果想要的输出是"seperated.with.full.stops.",那么你可以使用:
<?php
$text = "this.is.the.message.seperated.with.full.stops.";
$limit = 4;
$minText = explode(".", $text);
$minText = array_slice($minText, $limit);
echo implode('.', $minText) . '.';
所以我写了下面的代码来显示句子中第四个句号/句号之后的单词。
$text = "this.is.the.message.seperated.with.full.stops.";
$limit = 4;
$minText = explode(".", $text);
for($i = $limit; $i < count($minText); $i++){
echo $minText[$i];
}
该算法正在运行,它向我展示了第四个“.”之后的其余句子。句号/句号....我的问题是输出没有显示句子中的句号,因此它只显示没有正确标点符号“。”的文本。 ....有人可以帮我解决如何修复代码以显示句号/句号吗?
非常感谢
$text = "this.is.the.message.seperated.with.full.stops.";
$limit = 4;
$minText = explode(".", $text);
for($i = $limit; $i < count($minText); $i++){
echo $minText[$i].".";
}
如果您想在单词之间的句点上将其拆分,但将末尾的那个保留为实际标点符号,您可能需要使用 preg_replace()
将句点转换为另一个字符,然后展开它.
$text = "this.is.the.message.seperated.with.full.stops.";
$limit = 4;
//replace periods if they are follwed by a alphanumeric character
$toSplit = preg_replace('/\.(?=\w)/', '#', $text);
$minText = explode("#", $toSplit);
for($i = $limit; $i < count($minText); $i++){
echo $minText[$i] . "<br/>";
}
哪个产量
seperated
with
full
stops.
当然,如果您只想打印所有句点,请在 echo
术语后添加它们。
echo $minText[$i] . ".";
您可以使用 strpos() 函数通过更改偏移参数来查找字符串中分隔符 (.) 的第 n 个位置,而不是拆分输入字符串然后对其进行迭代。
那么,就是从我们刚刚确定的位置开始打印子串了。
<?php
$text = "this.is.the.message.seperated.with.full.stops.";
$limit = 4;
$pos = 0;
//find the position of 4th occurrence of dot
for($i = 0; $i < $limit; $i++) {
$pos = strpos($text, '.', $pos) + 1;
}
print substr($text, $pos);
你可以试试这个...
for($i = $limit; $i < count($minText); $i++){
echo $minText[$i].".";
}
注意 echo 命令末尾添加的句点 //...;
如果想要的输出是"seperated.with.full.stops.",那么你可以使用:
<?php
$text = "this.is.the.message.seperated.with.full.stops.";
$limit = 4;
$minText = explode(".", $text);
$minText = array_slice($minText, $limit);
echo implode('.', $minText) . '.';