如何找出句号后是否还有单词?
How to find out if there is anymore words after a full stop?
我在数据库中存储了一些文本,当我在前端显示它们时,我将单词放在 li 标记中的每个句点之前。
<ol><li> {!! str_replace(".","</li><li>", $sscat->inclusion) !!} </li></ol>
一切正常,除了当文本在最后有一个句号时,它最终显示一个空编号。
例如,如果我有“aaaaaa.Something 东西”。输出会像-
- aaaaaa
- 某事某事
那么我该怎么做才能防止出现空列表?
我要做的不是替换,而是 explode the string into an array, filter out empty values,然后遍历结果
<ol>
@foreach(array_filter(explode('.', $sscat->inclusion)) as $item)
<li>{!! $item !!}</li>
@endforeach
</ol>
如果您想在最后一个列表项中显示尾随 .
,您可以使用 preg_replace
而不是 str_replace
以避免替换存在的 [=17]。
preg_replace("/\.(?!$)/", "</li><li>", $sscat->inclusion)
如果您不想显示它,我觉得 aynber 的答案不错,但如果您不想使用循环,您也可以 trim 在进行替换之前将其关闭。
str_replace(".","</li><li>", rtrim($sscat->inclusion, '.'))
您可能要考虑的另一种可能性是修改模型以处理包含 accessor 中的尾随 .
,因此如果您有其他模板,则不必再次执行此操作使用 属性.
按照其他答案的思路,只需分解、过滤和内爆:
<ol><li>{!! implode("</li><li>", array_filter(explode(".", $sscat->inclusion))) !!}</li></ol>
我在数据库中存储了一些文本,当我在前端显示它们时,我将单词放在 li 标记中的每个句点之前。
<ol><li> {!! str_replace(".","</li><li>", $sscat->inclusion) !!} </li></ol>
一切正常,除了当文本在最后有一个句号时,它最终显示一个空编号。 例如,如果我有“aaaaaa.Something 东西”。输出会像-
- aaaaaa
- 某事某事
那么我该怎么做才能防止出现空列表?
我要做的不是替换,而是 explode the string into an array, filter out empty values,然后遍历结果
<ol>
@foreach(array_filter(explode('.', $sscat->inclusion)) as $item)
<li>{!! $item !!}</li>
@endforeach
</ol>
如果您想在最后一个列表项中显示尾随 .
,您可以使用 preg_replace
而不是 str_replace
以避免替换存在的 [=17]。
preg_replace("/\.(?!$)/", "</li><li>", $sscat->inclusion)
如果您不想显示它,我觉得 aynber 的答案不错,但如果您不想使用循环,您也可以 trim 在进行替换之前将其关闭。
str_replace(".","</li><li>", rtrim($sscat->inclusion, '.'))
您可能要考虑的另一种可能性是修改模型以处理包含 accessor 中的尾随 .
,因此如果您有其他模板,则不必再次执行此操作使用 属性.
按照其他答案的思路,只需分解、过滤和内爆:
<ol><li>{!! implode("</li><li>", array_filter(explode(".", $sscat->inclusion))) !!}</li></ol>